假设我有以下两列(品牌和颜色)值:
brand color
ford blue
ford pink
ford yellow
chevy green
chevy white
chevy yellow
jeep blue
jeep green
我只关心销售粉红色OR蓝色汽车的品牌。 什么类型的窗口功能将允许我只撤回三个'福特'记录,因为福特有一个粉红色/蓝色的车。两辆吉普车记录。 (我不想看到任何雪佛兰记录)。 感谢
答案 0 :(得分:1)
您应该使用颜色条件对品牌列进行独特查询。您将获得可用于查询的品牌列表。然后将此结果与基于品牌的普通表相结合。然后得到记录。
换句话说,您需要一个具有不同品牌的子查询以及与您的普通表格相连的内部条件
类似
select t1.*
from t1
inner join (
select distinct brand
from t1
where color in ('pink', 'blue')
) as t2 on t2.brand = t1.brand
答案 1 :(得分:0)
SELECT *
FROM t1
WHERE brand in (
SELECT brand
FROM t1
WHERE color in ('pink', 'blue')
)
用英语阅读此查询:从表中选择所有记录,其中品牌等于所有品牌的粉红色或蓝色。