我有一张这样的桌子:
ID Model Value
DAX FAB01
DAZ FAB01
DAA FAB01
DAX FAB02
DAZ FAB02
DAA FAB02我需要更新表,以便最终输出将如下所示:
ID Model Value
DAX FAB01 123
DAZ FAB01 789
DAA FAB01 963
DAX FAB02 456
DAZ FAB02 951
DAA FAB02 753我尝试了下面的方法:
UPDATE [TABLE]
SET VALUE = CASE
WHEN MODEL='FAB01' AND ID='DAX' THEN '123'
WHEN MODEL='FAB01' AND ID='DAZ' THEN '789'
WHEN MODEL='FAB01' AND ID='DAA' THEN '963'
WHEN MODEL='FAB02' AND ID='DAX' THEN '456'
WHEN MODEL='FAB02' AND ID='DAX' THEN '951'
WHEN MODEL='FAB02' AND ID='DAX' THEN '753'
ELSE VALUE
END重新运行上面的命令&它现在可以工作了。
谢谢。
发布于 2011-02-10 15:26:51
UPDATE [TABLENAME]
SET VALUE = 123
WHERE ID = "DAX" AND MODEL = "FAB01"每行的Etc..repeat
发布于 2011-02-10 15:31:03
从禁令的答案延伸出来。更新应该是-
UPDATE [TABLENAME]
SET [VALUE] = 123
WHERE ID = 'DAX'
AND Model = 'FAB01'表中的两列(ID和Model)具有唯一性。
发布于 2011-02-10 15:32:02
所有语句:
UPDATE YourTableName SET [Value] = 123 WHERE [ID] = 'DAX' AND [model] = 'FAB01'
GO
UPDATE YourTableName SET [Value] = 789 WHERE [ID] = 'DAZ' AND [model] = 'FAB01'
GO
UPDATE YourTableName SET [Value] = 963 WHERE [ID] = 'DAA' AND [model] = 'FAB01'
GO
UPDATE YourTableName SET [Value] = 456 WHERE [ID] = 'DAX' AND [model] = 'FAB02'
GO
UPDATE YourTableName SET [Value] = 951 WHERE [ID] = 'DAZ' AND [model] = 'FAB02'
GO
UPDATE YourTableName SET [Value] = 753 WHERE [ID] = 'DAA' AND [model] = 'FAB02'
GOhttps://stackoverflow.com/questions/4954432
复制相似问题