SQL '08: как подсчитать все sku в одной таблице, не найденные в другой таблице - PullRequest
3 голосов
/ 02 ноября 2010

Я хотел бы сделать что-то похожее на этот псевдо-SQL:

SELECT COUNT(A.SKU) 
  FROM TableA as A
 WHERE a.sku NOT IN TableB

1 Ответ

5 голосов
/ 02 ноября 2010

Несколько решений, например с EXISTS:

SELECT COUNT(A.SKU) AS your_count
FROM TableA
WHERE NOT EXISTS(SELECT NULL
                 FROM TableB
                 WHERE B.SKU = A.SKU);

Вы также можете использовать EXCEPT:

SELECT COUNT(*)
FROM (
    SELECT SKU
    FROM TableA
    EXCEPT
    SELECT SKU
    FROM TableB);

Вы также можете использовать NOT IN, LEFT OUTER JOIN ... WHERE B.SKU ЕСТЬ НУЛЬ и т. Д.

...