同じJoinとWhere句を持つ2つのSQLステートメントがありますが、updateステートメントが変更されると(私の場合は80、それがすべての行です)、selectステートメントが異なる行数(私の場合は42)を与えるという問題がありますテーブルの)。
これが最初のものです(影響を受ける行数を確認するためにこれを使用します):
SELECT COUNT(*)
FROM classes AS c
INNER JOIN programs AS p
ON c.Pr_ID = p.Pr_ID AND p.Ma_ID = 8;
--> returns: 32
そしてここで2番目(これは仕事をします、それはテーブルクラスの1つのフィールドを更新します):
UPDATE classes SET Cl_Status = 3
FROM classes AS c
INNER JOIN programs AS p
ON c.Pr_ID = p.Pr_ID AND p.Ma_ID = 8;
--> returns: 80 (!)
最初のステートメントと2番目のステートメントの違いは最初の行だけで、他のすべては同じです。
両方のステートメントで同じ数の行を取得するために何が変更されるかを誰かが知っていますか?