首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每条记录至少显示一次数据。

问每条记录至少显示一次数据。
EN

Stack Overflow用户
提问于 2014-10-10 18:37:05
回答 2查看 50关注 0票数 0

假设我有三张桌子:电影,分行,出租,其中分行告诉不同的电影租赁店。现在我想在每家分店里找到至少租过一次的所有电影。我真的搞不懂如何在每个分支机构中至少一次检查他们是否是租来的.

这些是我做的桌子

代码语言:javascript
复制
Movie(mid, title, genre, year)
Branch(bid, bname, baddress)
Rented(mid, bid, copyid, outdate, returndate, cost)
EN

回答 2

Stack Overflow用户

发布于 2014-10-10 19:04:08

计算每部电影的分支并与分支总数进行比较。选择这样找到的电影。

代码语言:javascript
复制
select *
from movie
where mid in
(
  select mid
  from rented
  group by mid
  having count(distinct bid) = (select count(*) from branch)
);
票数 1
EN

Stack Overflow用户

发布于 2014-10-10 18:48:12

由于您希望返回在每个分支中租来的所有电影,因此您可以为此使用一个聚合,并将其与整个分支的数量进行比较:

代码语言:javascript
复制
SELECT m.mid
FROM branch b
    JOIN rented r ON b.bid = r.bid
    JOIN movie m ON r.mid = m.mid
GROUP BY m.mid
HAVING COUNT(DISTINCT b.bid) = (SELECT COUNT(bid) FROM branch)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26305913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档