mysql与count()比较列

kap*_*ffy 2 mysql count

我有两张桌子.一个为客户,另一个为客房.我想要使​​用具有以下要求的mysql检索房间..

  1. 特定房间的客户数量少于房间表中的客户数量
  2. 房间不在客户表中

你可以查看这个粘贴 http://pastebin.com/WgTtkQvD

正如您所看到的,只有1号房间不符合预期结果,因为它的"头部"和该房间的总客户数相等

2号房间有3个顾客,比2号房间的"头"少

房间3和4都在预期的结果中,因为没有人"占用它"

egg*_*yal 5

SELECT   Rooms.id AS room_id,
         COUNT(Customer.id) AS occupied,
         Rooms.head AS total_head,
         Rooms.head - COUNT(Customer.id) AS remaining_head
FROM     Rooms LEFT JOIN Customer ON Customer.room_id = Rooms.id
GROUP BY Rooms.id
HAVING   remaining_head > 0
Run Code Online (Sandbox Code Playgroud)

在sqlfiddle上看到它.