如何将多个列或表连接成一个?

时间:2017-05-30 19:17:39

标签: mysql

有没有办法以这种方式加入多个列? 顺便说一句,即使没有重复,我也试图获得所有价值。

a b c
d e f
g h i

结果

a
b
c
d
e
f
g
h
i

编辑: 我试过了

SELECT text1 AS col FROM tabla2 UNION ALL SELECT text2 FROM tabla2 UNION ALL SELECT text3 FROM tabla2

但我没有得到我需要的订单

a
d
g
b
e
h
c
f
i

3 个答案:

答案 0 :(得分:2)

UNION ALL,也许还有2个用户变量来维护秩序。

假设您希望保留每个值,即使重复。如果您不想要重复项,请使用JSONArrayJSONProperty union执行不同的Union all并未导致union的性能下降。 union并不执行不同的操作,因此您可以保留重复项。

现在我知道你想要保留列的顺序......我们使用两个用户变量来跟踪哪个列首先出现在第2个第3个等等...我调用了这个ord。然后我使用RN来跟踪哪一行首先出现。但除非订购了子查询,否则行无关紧要,我不知道要点什么;我刚刚选了text1。但是因为我们必须通过这些cols命令得到正确的行#' s然后我们必须对这些表进行子查询。

Union all

http://rextester.com/KYK54502

答案 1 :(得分:1)

我假设您的列的数据类型相同

Select column1 from table1
union
Select column2 from table1
union
Select column3 from table1

答案 2 :(得分:0)

你想使用:UNION(没有重复),UNION ALL(有重复)

SELECT column_name_1 
FROM your_table_name
UNION ALL
SELECT column_name_2 
FROM your_table_name
SELECT column_name_3 
FROM your_table_name