我有一个存储过程,在执行某些计算后,我选择要在UI上显示的临时表的列。
以下是该存储过程的结束部分
SELECT Id, Data, Value from #preopt
运行此select语句时返回的数据如下所示。
Id | Data | Value
1 | xyz | 232
2 | abc | 222
3 | 3232 | www
现在我还有一张桌子。这不是临时表。它有以下数据。
来自dbo.IdLists的SELECT Id,List1,List2
Id | List1 | List2
1 | g23 | h323
45 | g21 | h44
2 | g455 | g45
3 | g32 | h48
我希望存储过程中的最终表格看起来像这样。在临时表#preopt中。基本上它会检查#preopt中的Id列,并与dbo.IDlists中的Id列进行比较。经过比较,它拿起了List1& List2列并将该id的相关值添加到临时表#preopt
Id | Data | Value | List1 | List2
1 | xyz | 232 | g23 | h323
2 | abc | 222 | g455 | g45
3 | 3232 | www | g32 | h48
有人可以告诉我这是否可以实现?
答案 0 :(得分:0)
此查询应该可以解决问题。使用IDLists上的连接值更新临时表中的List1和List2。
UPDATE p
SET p.List1 = l.List1, p.List2 = l.List2
FROM #preopt p
INNER JOIN dbo.IdLists l
ON p.Id = l.Id
答案 1 :(得分:0)
看起来你想要加入。
SELECT po.Id, po.Data, po.Value, il. from #preopt po
INNER JOIN dbo.IdLists il on po.Id = il.Id