尝试连接两个sql表以便我可以计数。例子:
id | n_name | n_group tableA
--------------------
1 Peter S1
2 Paul S2
3 James A1
4 Arty S2
5 Amy S2
id | g_name | g_group tableB
--------------------
1 S1 Leader
1 S2 Leader
2 A1 User
我想数一数表A中有多少领导人,以表B为参考?
到目前为止,我所知道的是,我不知道如何加入表格
Try
connect()
cmd.CommandText = "SELECT count(n_group) FROM [tableA].........
Dim lrd As SqlDataReader = cmd.ExecuteReader()
lrd.Read()
label1.text = lrd("n_group").ToString()
lrd.Close()
disconnect()
Catch ex As System.Exception
label1.text = "0"
End Try
4条答案
按热度按时间k2fxgqgv1#
如果你想计算表A中有多少个领导者,你不需要表B,因为你已经有了id,你知道哪些id是领导者。
你的表b显示s1和s2 id是领导者。
你甚至可以不用where子句和用例when来代替。
有很多方法可以做到这一点。您可以在另一个表上联接并使用
ID = 1
或者在哪里g_name IN('S1','S2')
. 不管你怎么选择,你都能做到。另一个引用表B的示例:
osh3o9ms2#
此查询将为您提供
tableA
你是谁'Leader'
:输出:
8gsdolmq3#
你可以做这个查询
您不需要指定g\u group内容,但是您可以使用它根据连接两个表所获得的结果进行分组(因此,如果您甚至有三个“leader”记录,那么对于任何“user”记录,您的查询仍然有效)
当然,如果您只对“leader”记录感兴趣,您应该添加一个适当的where条件,如
qni6mghb4#
使用下面的查询,