我有一個表像下面:合併多列到一個SQL Server 2005中
Table A
----------
ID Field1 Field2 Field3
1 A NULL B
2 B NULL NULL
3 C A NULL
4 A D NULL
的要求是所有字段(除ID)合併成一個,使表看起來像如下:
Table A
-------
ID Field
1 A
2 B
3 C
4 D
任何順序都可以,但值必須是不同的。這意味着Field1到Field3需要是一列(在任何臨時表中)並且具有不同的值。我只是使用ID列來澄清結果,但ID不是必需的。目前,我正在使用聯合來獲得所需的輸出
select distinct Field
from
(Select Field1 as Field from TableA
where Field1 is not null
union
Select Field2 from TableA
where Field2 is not null
union
Select Field3 from TableA
where Field3 is not null
)
我敢肯定有更好的代碼少線實現相同的輸出方式。
爲什麼'ID 1 = A'?爲什麼'ID 3 = C'?爲什麼'ID 4 = D'? –
你需要更好地解釋你的規則。爲什麼D和C勝出A,但A勝過B?這是岩石剪刀蜥蜴spock的新變種嗎? –
3列中的唯一值?如果是的話,他們被分配的ID是什麼? –