SQL在不同的行上选择每个选定列的值

Fab*_*aze 4 sql select

我有一个包含数百行和数十W列的表:

Column1 | Column2_W | Column3_W | ColumnX_W
  123   |     A     |     B     |    x
  223   |     A     |    NULL   |  NULL
Run Code Online (Sandbox Code Playgroud)

如何选择它以使输出为:

Column1 | W 
  123   | A
  123   | B
  123   | x
  223   | A
Run Code Online (Sandbox Code Playgroud)

编辑:我很清楚我正在使用可怕的数据库"设计".不幸的是我无法改变它.这个问题实际上是我今天提出的一个更大问题的一部分.我明天会尝试给定的想法

Jac*_*cob 6

SELECT Column1, Column2_W
FROM table

UNION ALL

SELECT Column1, Column3_W
FROM table

UNION ALL

SELECT Column1, Column4_W
FROM table
....
ORDER BY Column1
Run Code Online (Sandbox Code Playgroud)

更好的选择:重新设计您的数据库!这看起来像电子表格,而不是关系数据库.