当我运行以下查询时,我什么也得不到。不是空值,但什么都没有(图像在(没有列名)之后没有被截断,那里什么都没有)。
如果我去掉最后一个 AND 子句,我会得到一个数字(即使该数字为零),如果我在 NOT IN 括号内运行查询,我会得到预期的结果。如果我将 NOT IN 括号内的查询替换为从该查询中获得的结果,它将给我正确的数字。
我希望它说 0 而不是什么都没有。COALESCE 和 ISNULL 不起作用,因为没有返回空值,似乎没有返回任何内容。
SELECT count(*)
FROM groups g
INNER JOIN item_group ig ON g.groupid = ig.groupid
INNER JOIN item_materiel im ON ig.itemid = im.item_id
WHERE g.groupid = 4933
AND im.ItemMateriel_ID NOT IN (
SELECT oim.ItemMaterielID
FROM groups g
INNER JOIN item_group ig ON g.groupid = ig.groupid
INNER JOIN orderitem oi ON ig.itemid = oi.itemid
INNER JOIN OrderItemMateriel oim ON oi.OrderItemID
= oim.OrderItemID
WHERE g.groupid = 4933
)
GROUP BY g.groupid