sql - 查找多对多关系中的共同记录
问题描述
OrderPostions
我在表(Orders
和)之间有一个多对多的关系,Urls
并且希望得到所有 URL 的总和Orders
。每个订单可以有多个 url,每个 url 可以有多个订单,每个订单属于客户。此查询的目的是找出客户端之间共享了多少个 url。
到目前为止,我所拥有的是:
select sum(nb.byUrl)
from
( select count(U.UrlId) as byUrl
from Urls U
inner join OrderPositions OP on U.UrlId = OP.UrlId
inner join Orders O on O.OrderId = OP.OrderId
group by (U.Url)
having count(OP.OrderId) >= 2
) nb
带有架构的 sqlfiddle 在这里:http ://www.sqlfiddle.com/#!18/824b7/44
解决方案
推荐阅读
- c# - 如何在 .NET Core 中上传到 Google Cloud Storage 之前生成预签名 URL?
- python - 列表中的乳胶表达式
- java - Java Jackson 异常:嵌套异常是 java.lang.VerifyError
- xampp - Testlink 安装问题 $tlCfg->results['status_code'] = array (
- c - 执行 execlp 调用时显示的控制台行
- python - 使用 setup.py 文件从 Github 安装代码
- printing - 有没有办法查看日志并保存正在打印的内容(从打印机或我的电脑)
- node.js - 当元素在视图中时触发 vue-typed-js 动画
- firebase - FutureBuilder 无法“看到”数据/snapshot.hasData
- android - 垂直偏差和指导线在 recyclerview android 中不起作用