寻找所有零件号(d046d),其中至少有一条记录的vaule大于零。
d046d e024a
ABC123 0
ABC123 0
ABC123 0
123ABC 0
123ABC 1
123ABC 0
1A2B3C 0
1A2B3C 0
我想要的全部是123ABC
SELECT d008g, d046d, e024a
FROM 20121
WHERE (20121.[d046d])=(select sc.d046d from 20121 as sc where e024a >0)
这将是错误的,因为它会在子查询中找到多个d046d。
答案 0 :(得分:1)
如果您想要的只是数量大于零的那些部分,那么您的where子句应该只是说
WHERE e024a > 0
现在你说你想要至少有一条记录的零件编号> 0,那么我可以得出结论,你只想看到每个合格的零件编号一次 - 这最好通过使用来实现 DISTINCT:
SELECT DISTINCT d008g, d046d, e024a
FROM 20121
WHERE e024a > 0
答案 1 :(得分:0)
您可以使用In运算符。 In Operator Reference
SELECT d008g, d046d, e024a
FROM 20121
WHERE (20121.[d046d]) In (select sc.d046d from 20121 as sc where e024a >0)