Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server sql server更新与自身内部联接相结合_Sql Server_Sql Update - Fatal编程技术网

Sql server sql server更新与自身内部联接相结合

Sql server sql server更新与自身内部联接相结合,sql-server,sql-update,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 请注意,内部联接部

我在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
请注意,内部联接部分使用表本身。在此
更新之后
我希望一些行的
更多
等于
-1
。但我只得到了
1
s。我100%确信
column1
中有重复项。我错过了什么


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

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

请提供您的示例输入。我发现了问题<代码>更多被一些人定义为
浪费了我宝贵的三个小时!嗨,John,你能回答你自己的问题并提供你如何解决这个问题的细节吗?这可能会帮助其他陷入这个问题的人。啊,难以捉摸的数据类型问题。我最近开发了很多导入存储过程,并且经常遇到这种情况。在你花更多的时间之前找到它,做得很好!真糟糕!感受你的痛苦。应该给使用bit的人一个严厉的谈话机会——smallint就在那里,当事情(不可避免地)发生变化时,它具有更大的灵活性!)