SQL查询要求值为0

时间:2017-11-19 17:20:32

标签: sql zero

我最近开始进入SQL并遇到以下问题:

我有一张桌子,有几名员工去度假(表格显示个人休假)并预订了几家酒店。一次一个。使用ID 1-10存储的10家酒店。 SCREENSHOT OF THE TABLE

当查询酒店预订了多少次时,除非我想知道哪些酒店根本没有预订,否则工作正常。一旦我要求0的值,我就什么都不给我 一旦我涉及0,我就遇到了与其他查询类似的问题,此时我真的很困惑。

选择酒店作为HotelNr 来自假期 GROUP BY酒店 有COUNT(*)= 1;

^这个工作得很好并且返回了3家酒店及其ID,因为有3家酒店只预订了一次

选择酒店作为HotelNr 来自假期 GROUP BY酒店 有COUNT(*)= 0;

另一方面,

^这绝对没有任何回报

1 个答案:

答案 0 :(得分:2)

您无法获得vacations中没有的酒店。你可能有一个单独的hotels表。如果是这样的话:

select h.*
from hotels h
where not exists (select 1
                  from vacations v
                  where v.hotel = h.hotel
                 );

我不知道匹配的列是什么,但这是个主意。