我最近开始进入SQL并遇到以下问题:
我有一张桌子,有几名员工去度假(表格显示个人休假)并预订了几家酒店。一次一个。使用ID 1-10存储的10家酒店。 SCREENSHOT OF THE TABLE
当查询酒店预订了多少次时,除非我想知道哪些酒店根本没有预订,否则工作正常。一旦我要求0的值,我就什么都不给我 一旦我涉及0,我就遇到了与其他查询类似的问题,此时我真的很困惑。
选择酒店作为HotelNr 来自假期 GROUP BY酒店 有COUNT(*)= 1;
^这个工作得很好并且返回了3家酒店及其ID,因为有3家酒店只预订了一次
选择酒店作为HotelNr 来自假期 GROUP BY酒店 有COUNT(*)= 0;
另一方面,^这绝对没有任何回报
答案 0 :(得分:2)
您无法获得vacations
中没有的酒店。你可能有一个单独的hotels
表。如果是这样的话:
select h.*
from hotels h
where not exists (select 1
from vacations v
where v.hotel = h.hotel
);
我不知道匹配的列是什么,但这是个主意。