2015-10-18 111 views
0

我有一个表格,其中有4行保存了DateTime值。MySql从多行选择值到一行

查询:

SELECT row1, row2, row3, row4 FROM table; 

显示了这种结果:

+------------+------------+------------+------------+ 
| row1 | row2 | row3 | row4 | 
+------------+------------+------------+------------+ 
|01.01.2014 |null  |null  |31.12.2018 | 
|null  |17.08.2015 |01.12.2050 |null  | 
|02.01.2010 |null  |28.03.2067 |null  | 
+------------+------------+------------+------------+ 

但我想这些日期像结合起来,整理成一排:

+------------+ 
| rows | 
+------------+ 
|01.01.2014 | 
|02.01.2010 | 
|17.08.2015 | 
|01.12.2050 | 
|28.03.2067 | 
|31.12.2018 | 
+------------+ 

怎么查询我必须用来获得我想要的结果?

在此先感谢

回答

2
SELECT row1 AS rows FROM table WHERE row1 IS NOT NULL 
UNION ALL 
SELECT row2 AS rows FROM table WHERE row2 IS NOT NULL 
UNION ALL 
SELECT row3 AS rows FROM table WHERE row3 IS NOT NULL 
UNION ALL 
SELECT row4 AS rows FROM table WHERE row4 IS NOT NULL 
ORDER BY rows DESC; 

会做你想要我猜。

您是否有更多关于该问题的信息,例如表名和列名。

+1

您应该添加'order by row1'来订购数据。 –

+0

谢谢,那就是它 – user1814545