如果同一行中另一列的值等于临时表中的值,我试图向列中添加1。以下是代码。当我从存储过程运行代码时,它将每列添加1,而不仅仅是临时表中显示的那一列。有没有人看到任何错误的查询?当值在临时表中时将sql列更新为1
DECLARE @LineTable TABLE (
TempLineNumber FLOAT)
INSERT @LineTable
SELECT DocumentNumber
FROM chargebackdetailtemptable
GROUP BY DocumentNumber
HAVING Count(*) > 1
UPDATE ChargebackDetailTempTable
SET LineNumber = (SELECT Max(LineNumber) + 1
FROM ChargebackDetailTempTable c
LEFT OUTER JOIN @LineTable c2
ON c.DocumentNumber = c2.TempLineNumber
WHERE c.DocumentNumber IS NOT NULL
AND c2.TempLineNumber IS NOT NULL)
这很可能是因为你正在使用相同的'max(LineNumber)+ 1'更新所有行;你没有指定任何'WHERE'标准。 – LittleBobbyTables
查询中有WHERE标准,我需要移动它吗? – Jeff