【发布时间】:2015-12-09 15:05:44
【问题描述】:
我正在尝试查询这条语句:
Drinkers who frequent all bars
现在我有一个名为 bar 的表,其中有一列包含每个 bar 的名称。
我还有一张名为“常客”的表格,上面写着饮酒者的姓名以及他们常去的酒吧。
通过一个查询,我能够使用计数运算符从柱状表中找到不同柱的数量:
SELECT COUNT(DISTINCT name) AS num_bars
FROM bars;
答案是 18。
通过单独的查询,我可以检查常客表,查看以下总共 18 个酒吧的常客:
SELECT drinker
FROM frequents
GROUP BY drinker
HAVING COUNT(drinker) = 18;
首先,我不确定如何将这两个查询合并为一个(连接过程让我有些困惑)。其次,我不确定我的逻辑是否完全合理。如果饮酒者经常光顾的酒吧不在酒吧表中(这在我的数据集中没有发生)怎么办?那么我的两个查询系统就会失败。
【问题讨论】:
-
这是您系列问题中的第四个类似问题。你至少应该付出一些努力。