首页 > 解决方案 > 查找多对多关系中的共同记录

问题描述

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

标签: sqlsql-server

解决方案


推荐阅读