根据另一列中的值选择一列中的项目。
问题描述:
我有以下数据:根据另一列中的值选择一列中的项目。
id1,id2
1 3
1 8
1 10
1 11
2 3
2 10
2 11
3 2
3 18
3 20
4 3
4 8
5 3
5 10
5 11
5 40
5 45
5 50
6 1
6 59
6 70
我不会得到与ID2 = 3,10,11全部ID1。
例如,只有id2 = 3的id1 = 4,不应该返回。
结果应该
id1
1
2
5
答
SQL代码
SELECT ID1,COUNT(ID2) FROM TBTEST
WHERE ID2 IN(3,10,11)
GROUP BY ID1
HAVING COUNT(ID2)=3
这是你需要什么?
+0
分组不是必需的,因为ID2 = 3的每次出现每个ID1只发生一次。 – guerda 2009-06-26 08:47:30
答
SELECT distinct(ID1) FROM TBTEST WHERE ID2 IN(3,10,11)
+0
对不起。例如,只有id2 = 3的id1 = 4,不应该返回。 – 2009-06-26 08:57:25
在我看来,如果你输入一个问题,而不仅仅是一堆数据,这将是很好的。 – guerda 2009-06-26 08:45:38