DECLARE @t TABLE(col1 VARCHAR(50),col2 VARCHAR(50))
INSERT INTO @t(col1,col2)
SELECT '1' ,'2'UNION ALL
SELECT '234' ,'2'UNION ALL
SELECT '234' ,'2'UNION ALL
SELECT '3' ,'2'UNION ALL
SELECT '3' ,'2'UNION ALL
SELECT '4' ,'2'我想通过update 修改col2为newID(),条件是当第一行col1和第2行col1相同时;第二行col2和第2行col2相同,col2的值也是相同的
update @t set col2=newID()..........???
这个update语句如何写啊?结果类似
id col1 col2
----------- -------- --------------------------------------
1 1 5D14C9F1-FC0F-484E-A5DC-D1AE4C14B930
2 234 CBAF6B21-F871-4037-B534-9FDA6C1E3A9B
3 234 CBAF6B21-F871-4037-B534-9FDA6C1E3A9B
4 3 9ECAE07E-7E8E-4587-BEED-214E2B8C4C92
5 3 9ECAE07E-7E8E-4587-BEED-214E2B8C4C92
6 4 AA9F6F00-CD1F-41BD-88A3-0C6BC2137327
INSERT INTO @t(col1,col2)
SELECT '1' ,'2'UNION ALL
SELECT '234' ,'2'UNION ALL
SELECT '234' ,'2'UNION ALL
SELECT '3' ,'2'UNION ALL
SELECT '3' ,'2'UNION ALL
SELECT '4' ,'2'我想通过update 修改col2为newID(),条件是当第一行col1和第2行col1相同时;第二行col2和第2行col2相同,col2的值也是相同的
update @t set col2=newID()..........???
这个update语句如何写啊?结果类似
id col1 col2
----------- -------- --------------------------------------
1 1 5D14C9F1-FC0F-484E-A5DC-D1AE4C14B930
2 234 CBAF6B21-F871-4037-B534-9FDA6C1E3A9B
3 234 CBAF6B21-F871-4037-B534-9FDA6C1E3A9B
4 3 9ECAE07E-7E8E-4587-BEED-214E2B8C4C92
5 3 9ECAE07E-7E8E-4587-BEED-214E2B8C4C92
6 4 AA9F6F00-CD1F-41BD-88A3-0C6BC2137327
INSERT INTO @t(col1,col2)
SELECT '1' ,'2' UNION ALL
SELECT '234','2' UNION ALL
SELECT '234','2' UNION ALL
SELECT '3' ,'2' UNION ALL
SELECT '3' ,'2' UNION ALL
SELECT '4' ,'2'update @t set col2=newid()update t set col2=(select max(col2) from @t where col1=t.col1) from @t tselect * from @t
你的SQL有问题