例如表A中数据为:
B C
l 3
o 3
l 4
p 4
l 5
l 5
则满足上述条件的纪录集只有l
请问能否用一条SQL语句实现此结果,如果不能,最快用何方法可以实现?
...全文
2712打赏收藏
这样的结果能否用一条SQL语句实现?
表A中有B、C字段。 求所有满足“C字段的值等于3和C字段的值等于4,且它们对应的B字段的值相等”的B字段纪录集,且B字段中没有重复的值。 例如表A中数据为: B C l 3 o 3 l 4 p 4 l 5 l 5 则满足上述条件的纪录集只有l 请问能否用一条SQL语句实现此结果,如果不能,最快用何方法可以实现?
wggipkhgef(不想说乔丹) : 你的方法是对的,不过要把WHERE移到前面。也就是:
SELECT First(table.b) AS table_b FROM table where c in(3,4) GROUP BY table.b HAVING (((Count(tabel.b))>=1)) 这是我试验的结果。
但还有一问,如果最后的结果需要把C字段的值也显示出来应如何写?也就是最后结果为
l 3
o 3
luluso(luluso):不好意思我没说清楚,是或的关系,也就是所有等于3或者等于4的记录。用你的语句就是select * from A where c in(3,4),得到的结果是
B C
l 3
o 3
l 4
p 4
但后面的好像就不对了,接下来我需要的是:在以上记录集中,寻找B字段中有相同值的记录,也就是l,最后的记录集就是:
l
乘下的语句该如何写?