![](/img/trans.png)
[英]SQL Query get all values from left table and uncommon values from right table
[英]SQL Match All Values from Left Table to Groups of Right Table
我有两个表-'LeftTable'和'RightTable'。 这些数据如下所示:
左表
T1 | C45
T1 | C46
T1 | C47
右表
T9 | C45
T9 | C47
T10| C45
T10| C46
T10| C47
T10| C52
我正在尝试编写一个SQL查询,该查询告诉我右表中的哪些“ T”条目包含所有“ C”项,就像在LeftTable中一样
LeftTable仅具有一种“ T”条目。 因此,因为LeftTable具有C45,C46,C47-我希望RightTable中的“ T”值具有与C45 C46 C47相对应的“ C”。
因此,在这种情况下,它应该返回T10(具有所有三个)。 但是,它不应返回T9(因为它从LeftTable中只有两个公共的“ C”值)
这个问题比我最初想的要有趣。 :-)
假设在RightTable(rt)上有一个组合的唯一键,这将起作用:
select rt.id , count(*) right_count
from rt join lt on rt.val=lt.val
group by rt.id
having count(*) = (select count(distinct val) from lt)
与:
rt =右表
lt =左表
id = T场
val = C场
我希望这有帮助。 拉尔夫
需要这样的东西:
从RT选择T值
什么时候
(从LT存在中选择C值(为每个t值从RT中选择C值))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.