2014-11-23 80 views
0

我有一个非常简单的问题,在SQL中查找ID,分配给所有可用的Room_No。例如:在下表中,总共有三个独特的房间,即100,400和,并且只有一个ID,即分配给所有可用房间的。而且我无法找到正确的查询来执行此操作。请帮助SQL Query查找分配给所有可用房间号的ID

表数据

Room_No Id 
400  1 
100  2 
600  3 
100  1 
400  1 
600  1 
+1

HAVING COUNT(DISTINCT room_no)= 3 – Strawberry 2014-11-23 22:16:55

+0

客房数量可以超过3。我只需要查询即可查找分配给该表中所有可用房间的所有ID。 – user3667167 2014-11-23 22:18:00

+0

对不起,我是SQL新手所以不明白.. – user3667167 2014-11-23 22:31:52

回答

1

你可以聚集和having条款做到这一点:

select id 
from data 
group by id 
having count(distinct room_no) = (select count(distinct room_no) from data); 
+0

我从来没有想过它会如此复杂,但最终它的工作谢谢:) – user3667167 2014-11-23 22:29:45