在另一个表中查找缺少的记录

时间:2018-06-01 14:13:06

标签: sql

我有2张桌子

GET

我需要在tableCars中找到并非所有颜色的汽车:AUDI。

它看起来并不那么困难,但我尝试了左连接而不存在variantions但我找不到解决方案。

3 个答案:

答案 0 :(得分:2)

假设除<div class="root"> <div class="controller"> <button name="toggle">Toggle padding-trick</button> </div> <div class="wrapper"> <div class="aspect-ratio height-0"> <div class="inner"> <p>Bordered content height is not 1oo%.</p> </div> </div> </div> </div>之外没有其他颜色:

tablecolor

如果汽车/颜色可能有重复,请切换到select car from Cars group by ca.car having count(*) <> (select count(*) from Colors); 而不是count(distinct color)

答案 1 :(得分:1)

只需做一个group by。使用having子句验证汽车的颜色是否少于所有颜色。

select car
from cars
group by car
having count(*) < (select count(*) from colors);

答案 2 :(得分:0)

最简单的方法是计算:

select ca.car
from Cars ca join
     Colors co
     on ca.color = co.color
group by ca.car
having count(*) <> (select count(*) from Colors);

这假定没有重复(在任一表中)。如果您有重复项,请使用count(distinct color)代替count(*)