我有一个如下表:
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
)
我确信有更好的方法可以用更少的代码行来实现相同的输出。