我有一个看起来像这样的表:
SetId ID Premium 2012 5 Y 2012 6 Y 2013 5 N 2013 6 N
我想使用setid等于2012的溢价值更新2013记录。
因此查询后,它看起来像这样:
SetId ID Premium 2012 5 Y 2012 6 Y 2013 5 Y 2013 6 Y
任何帮助,不胜感激
目前尚不清楚您要使用哪个2012年值来更新哪个2013年值,我假设值ID应该相同。
ID
使用表变量的完整示例,您可以在Management Studio中进行测试。
DECLARE @Tbl TABLE ( SetId INT, Id INT, Premium VARCHAR(1) ) INSERT INTO @Tbl VALUES (2012, 5, 'Y') INSERT INTO @Tbl VALUES (2012, 6, 'Y') INSERT INTO @Tbl VALUES (2013, 5, 'N') INSERT INTO @Tbl VALUES (2013, 6, 'N') --Before Update SELECT * FROM @Tbl --Something like this is what you need UPDATE t SET t.Premium = t2.Premium FROM @Tbl t INNER JOIN @Tbl t2 ON t.Id = t2.Id WHERE t2.SetId = 2012 AND t.SetId = 2013 --After Update SELECT * FROM @Tbl