以下のクエリを実行すると、325行が影響を受けたと表示されます。ただし、クエリのSELECT部分のみを実行すると、331件の結果が返されます。これは、クエリ全体が実行されたときに、更新されるのは325行のみであり、331行は更新されないことを意味します。不一致が何であるかはわかりません。クエリのSELECT部分で見つかったすべての行を更新したいのですが
この更新により、325行が更新されます
UPDATE A
SET
A.status = X.c
FROM
tableA A INNER JOIN (
SELECT tableB.c_id, COUNT(*) as c
FROM tableB
LEFT JOIN tableC
ON tableB.c_id = tableC.c_id
WHERE tableC.c_id != tableC.c_id_update
GROUP BY tableB.c_id) X
ON A.c_id = X.c_id
また、クエリのSELECT部分のみを実行すると、331行が返されます。
SELECT tableB.c_id, COUNT(*) as c
FROM tableB
LEFT JOIN tableC
ON tableB.c_id = tableC.c_id
WHERE tableC.c_id != tableC.c_id_update
GROUP BY tableB.c_id
更新されないレコードが6つ(331-325)ある理由を理解するのに本当に苦労していますか?!ご協力いただきありがとうございます。