感谢您的观看。我很难搞清楚SQL调用,它将识别所有完整的订单,并在Color列中至少有一个值为'Red'的实例。同样,我希望它包含符合条件的订单的所有行。谢谢!
Order Color
1 Red
1 Blue
1 Yellow
2 Red
2 Black
3 Blue
3 Green
3 Pink
答案 0 :(得分:0)
有很多方法可以做到这一点,例如你可以使用in
谓词:
select *
from your_table
where `Order` in (
select `Order`
from your_table
where Color = 'Red'
)
或者您可以将exists
谓词与相关查询一起使用:
select *
from your_table t1
where exists (
select 1
from your_table t2
where t2.Color = 'Red'
and t1.`Order` = t2.`Order`
)
两个查询都会返回:
Order Color
1 Red
1 Blue
1 Yellow
2 Red
2 Black
旁注order
是ANSI SQL标准中的保留关键字,因此不是列的良好名称。