2017-08-18 3 views

Antwort

2

können Sie NOT EXISTS verwenden:

SELECT  COUNT(1) 
FROM  TableA AS A 
WHERE  NOT EXISTS (
          SELECT NULL 
          FROM  TableB AS B 
          WHERE  B.a_id = A.a_id 
            AND B.b_id = A.b_id 
         ) 
     AND A.a_id = 100 

Wenn Sie es mit left join tun wollen:

SELECT  COUNT(1) 
FROM  TableA AS A 
LEFT JOIN TableB AS B 
     ON B.a_id = A.a_id 
     AND B.b_id = A.b_id 
WHERE  B.a_id IS NULL 
     AND A.a_id = 100 
+0

ist es möglich beitreten zu benutzen? – Sato

+0

@Sato, siehe edit – HoneyBadger

+0

danke, warum 'b.a_id ist null'? – Sato

0
SELECT count(*) 
FROM tableA a 
WHERE a_id = 100 AND NOT EXISTS 
(
    SELECT * 
    FROM tableB b 
    WHERE b.a_id = a.a_id AND b.b_id = a.b_id 
) 
Verwandte Themen