我有以下要求。
**---Table A---**
CustID_1 S1
CustID_1 S2
CustID_2 S2
CustID_2 S3
CustID_3 S4
CustID_3 S5
**---Table B---**
S1 1
S2 0
S3 1
S4 0
S5 0
我想选择所有B.S = 0的所有CustID。 因此,在上述情况下,只应选择CustID_3。 CustID_1,CustID_2至少具有S = 1,因此它们不应出现在结果中。
感谢任何帮助。
谢谢!
答案 0 :(得分:1)
未测试:
SELECT custid
FROM A a1
WHERE NOT EXISTS
(SELECT custid
FROM A a2 JOIN B ON (a2.col2 = B.col1)
WHERE B.col2 = 1
AND a2.custid = a1.custid)
答案 1 :(得分:1)
试试这个;它返回B 和中不存在的所有custID,其中B.S'的值等于0:
SELECT
A.custID
FROM
A
WHERE
A.custID NOT IN
(
SELECT
B.custID
WHERE
B.S <> 0
)
答案 2 :(得分:1)
SELECT a.CustID
FROM TableA a
INNER JOIN TableB b ON a.S = b.S
GROUP BY a.CustID
HAVING SUM(b.S) = 0