SQL Server – 从同一个表中的数据更新列
发布时间:2020-12-12 16:17:48 所属栏目:MsSql教程 来源:网络整理
导读:我有一张看起来像这样的桌子: SetId ID Premium2012 5 Y2012 6 Y2013 5 N2013 6 N 我想使用setid等于2012的溢价值来更新2013年的记录. 所以在查询之后,它将如下所示: SetId ID Premium2012 5 Y2012 6 Y2013 5 Y2013 6 Y 任何帮助非常感谢 解决方法 不清楚你
我有一张看起来像这样的桌子:
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应该是一样的.使用表变量的完整示例,您可以在管理工作室中测试自己. 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,'N') INSERT INTO @Tbl VALUES (2013,'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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |