[英]How do use a sub-query within a query in SQL?
我对SQL相当陌生,在生成正确的信息时遇到了麻烦。 我有一个带有FinishedGood零件号和ProductClassCode的数据集。 我要查找的是带有多个ProductClassCode的所有FinishedGood零件号,其中之一是“ WU”。 我可以运行查询以查找所有等于WU的ProductClassCode:
select finished_good
from FFTGGM.data_attributes_ext
where prodclass_cd = 'WU'
但是我在弄清楚如何使用该查询将其与所有FinishedGood进行比较以生成ProdClasssCode为“ WU”和其他东西的FinishedGood列表时遇到了麻烦。 我知道我可以将其用作子查询,但是我不确定如何获取正确的查询顺序。 有什么建议吗?
-编辑-
一些样本数据:
或者您可以这样做:
where prodclass_cd in (select distinct prodclass_cd from prodclasstable)
然后,您在WHERE子句中的条件可以是动态的。
您可以使用IN子句或EXISTS子句:
select *
from FFTGGM.data_attributes_ext
where finished_good in
(
select distinct finished_good
from FFTGGM.data_attributes_ext
where prodclass_cd = 'WU'
)
要么
select *
from FFTGGM.data_attributes_ext A
where
EXISTS (
select finished_good
from FFTGGM.data_attributes_ext B
where A.finished_good=B.finished_good
and prodclass_cd = 'WU'
)
如果您只想要具有“ WU”且还具有另一个非WU产品类别的制成品,则可以进行两次检查,如下所示:
select *
from FFTGGM.data_attributes_ext A
where
EXISTS (
select finished_good
from FFTGGM.data_attributes_ext B
where A.finished_good=B.finished_good
and prodclass_cd = 'WU'
)
and
EXISTS (
select finished_good
from FFTGGM.data_attributes_ext B
where A.finished_good=B.finished_good
and prodclass_cd <> 'WU'
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.