2017-04-20 30 views
-1

我有兩個表。一個的格式如下:使用SQL Server更新變化列

Id | FieldName | Value 
0 | field1 | 0 
1 | field2 | 0 
2 | field3 | 0 

第二具有以下格式:

Id | field1 | field2 | field3 
0 | 1 | 1 | 1 
1 | 1 | 1 | 1 
2 | 1 | 1 | 1 

我需要更新所述第二表,以使1的被改變爲0的其中字段名列值相匹配的第二個表中的列值。所以最後的表應該是這樣的:

Id | field1 | field2 | field3 
0 | 0 | 1 | 1 
1 | 1 | 0 | 1 
2 | 1 | 1 | 0 

回答

0

試試這個: -

Select a.id, 
Case when (fieldName='field1' and field1=1) then value else field1 end as field1, 
Case when (fieldName='field2' and field2=1) then value else field2 end as field2, 
Case when (fieldName='field3' and field3=1) then value else field3 end as field3 
from 
table2 a 
inner join 
table1 b 
on a.id=b.id 

感謝:-)

+0

謝謝!這有助於我更清楚地思考問題。 –