sql server UPDATE与INNER JOIN结合使用

时间:2014-12-02 17:39:03

标签: sql-server sql-update

我在SQL SERVER

中发现了以下UPDATE语句的问题
UPDATE
    table_a
SET
    table_a.More = -1
FROM
    table_a
INNER JOIN
    ( SELECT column1, COUNT(*)  AS More 
      FROM table_a 
      GROUP BY column1 ) AS table_b
ON
    table_a.column1 = table_b.column1

请注意,INNER JOIN部分使用表本身。在此UPDATE之后,我预计某些行的More等于-1。但我只有1个。我100%确定column1有重复。我错过了什么?

我发现的问题是某些人将列More定义为bit类型!

1 个答案:

答案 0 :(得分:1)

我这里的问题是数据类型,在位类型中你也只能有1或0或NULL。将数据类型更改为int