【发布时间】:2011-09-06 07:43:39
【问题描述】:
我有两个具有相同 Join 和 Where 子句的 SQL 语句,但我遇到的问题是 select 语句给了我不同的行数(在我的情况下为 42),因为更新语句将更改(在我的情况下为 80,这是表格的所有行)。
这是第一个(我用它来检查会影响多少行):
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
这里是第二个(这使工作,它将更新表类的一个字段):
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 (!)
第一条和第二条语句的区别只是第一行,其他都一样。
有谁知道要在两个语句中获得相同数量的行会发生什么变化?
【问题讨论】:
标签: sql postgresql ansi-sql