gpt4 book ai didi

sql - 选择多于一行的匹配数据

转载 作者:行者123 更新时间:2023-12-04 06:43:47 26 4
gpt4 key购买 nike

我需要选择从 2 个不同分支机构租借同一部电影的客户的编号 (cid)。我的表如下:

RENTED
(cid, copyid)
12345 99999
12345 88888

COPY
(copyid, mid, bid)
99999 444 123
88888 444 456

因此,一位客户 (12345) 从两个不同的分支机构 (123、456) 租用了相同的移动 (444)。我不知道如何比较两个不同记录中的值,值 mid = mid 但出价!=出价。我尝试使用 'some' 和 'all' 但这没有给我任何行(下面的代码)
select cid
from rented R join copy CP on R.copyid = CP.copyid
where CP.mid = all (select mid from copy where CP.mid = copy.mid) and CP.bid != some (select bid
from copy where CP.bid = copy.bid);

我的输出应该是
cid
12345

最佳答案

您可以使用 HAVING条款。以下查询将列出曾多次租借同一部电影的所有客户:

SELECT r.cid
FROM rented r
JOIN copy p ON r.copyid = p.copyid
GROUP BY r.cid, p.mid
HAVING COUNT(DISTINCT c.bid) > 1

关于sql - 选择多于一行的匹配数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3935045/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com