将返回的ID替换为另一个表中的值

时间:2018-09-18 01:02:58

标签: sql

我有两个表,一个名为“ Reservations”,另一个名为“ Restaurants”。 Reservations的列为rid(餐厅ID),而Restaurants的字段为rid和rname(餐厅名称)。我正在尝试创建一个查询,该查询返回预订中少于3次的所有餐厅的名称。我知道如何使用COUNT和GROUP,但无法弄清楚如何用餐厅名称切换餐厅。

2 个答案:

答案 0 :(得分:0)

快速SQL就像-

SELECT *
  FROM RESTAURANTS
 WHERE RID IN
       (SELECT RID FROM RESERVATIONS GROUP BY RID HAVING COUNT(*) < 3)

答案 1 :(得分:0)

一种方法使用相关的子查询:

select r.*
from restaurants r
where (select count(*)
       from reservations re
       where re.rid = r.rid
      ) < 3;