在数据库中有两个表。 表1和表2
表1:
column1 column2 column3
271 211 111
301 333 333
表2:
ColumnNo Value Desc
1 271 aaa
3 111 bbb
2 211 ccc
2 333 ddd
1 301 eee
此处columnNo指的是第一个表>> 1 = Column1,2 = column2,3 =栏3。
所以我必须使用Desc更新第一个表列值。 所以更新的table1将是
column1 column2 column3
aaa ccc bbb
eee ddd ddd
像这样。
因为有很多列和值,所以如何动态更改列名并更新值?
答案 0 :(得分:0)
试试这个
UPDATE T1
SET T1.column1 = T2.Desc,T1.column2 = T3.Desc,T1.column3 = T4.Desc
FROM Table1 T1 Inner Join Table2 T2 ON T1.column1 = T2.Value
Inner Join Table2 T3 ON T1.column2 = T3.Value
Inner Join Table2 T4 ON T1.column3 = T4.Value
<强> FIDDLE DEMO 强>