以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  Select Count(*) 如何实现多条符合条件的数据,在属性和对象都相同的情况下,只计算一次呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=179211)

--  作者:cnsjroom
--  发布时间:2022/8/12 18:26:00
--  Select Count(*) 如何实现多条符合条件的数据,在属性和对象都相同的情况下,只计算一次呢?

            If dc.name.Contains(Product & "_已巡数") Then
                cmd.CommandText ="Se lect Count(*) From {巡察工作安排} "
                Dim dt11 As DataTable
                dt11 = cmd.ExecuteReader()
                Dim Ps As List(Of String)
                Ps = dt11.sqlGetValues("巡察对象")
                For Each P As String In Ps
                    cmd.CommandText ="Se lect Count(*) From {巡察工作安排} Where 巡察对象属性 = \'" & Product & "\' and 巡察对象 = \'" & P & "\'"
                    If cmd.ExecuteScalar > 0 Then
                        output.show(cmd.ExecuteScalar)   得到的数据是3  预实现得到的数据是2
                         bb(Product & "_已巡数")=cmd.ExecuteScalar
                        yxs1= yxs1 +  cmd.ExecuteScalar
                        bb("总计_已巡数")=yxs1
                    End If
                Next
            End If

 

 

Select Count(*) 如何实现多条符合条件的数据,在属性和对象都相同的情况下,只计算一次呢?

比如巡察工作安排表中有如下记录:

巡察对象属性     巡察对象

事业单位           某某医院

企业单位           某某投资工资

企业单位           某某投资工资

统计数据的话  就只能算两个数据   不能计算为三个数据

[此贴子已经被作者于2022/8/12 18:28:47编辑过]

--  作者:有点蓝
--  发布时间:2022/8/13 8:36:00
--  
cmd.CommandText ="Select Count(*) From (Select distinct 巡察对象属性,巡察对象 From {巡察工作安排} Where 巡察对象属性 = \'" & Product & "\' and 巡察对象 = \'" & P & "\') as a"