我在此方案中涉及3个表。 Table1(临时表)有一些订单号。 table2有关于那些(和所有其他)订单的详细信息,但可能在几个字段中缺少数据。 table3有那些缺失的细节。
我需要做的是,从table1中的table2中选择每个订单。 table1中可能有一个或多个订单。所以对于那些订单,我需要去查看table3.fieldx并查看那里是否有任何内容。如果不为null,则将table3.fieldx复制到table2.fieldx。
一些帮助将不胜感激。
此处的示例表和数据 http://www.sqlfiddle.com/#!6/02947
感谢。
答案 0 :(得分:1)
感谢sqlfiddle。对于样本数据,这实际上是我们可以帮助的。
认为你想要这样的东西。
update t2
set fieldx = ISNULL(t3.fieldx, t2.fieldx)
from #table2 t2
join #table1 t1 on t1.ord_num = t2.ord_num
left join #table3 t3 on t3.ord_num = t2.ord_num