我有一个查询由三个select
条款是这样的:如何对多个查询的结果进行排序?
select id, colors from table1
union all
select id, numbers from table2
union all
select id, names from table3
另外这里的表结构:
// table1 // table2 //table3
+----+--------+ +----+---------+ +----+-------+
| id | colors | | id | numbers | | id | names |
+----+--------+ +----+---------+ +----+-------+
| 1 | red | | 1 | ten | | 1 | jack |
| 2 | green | | 2 | two | | 2 | peter |
| 3 | blue | | 3 | one | +----+-------+
| 4 | yellow | | 4 | three |
+----+--------+ | 5 | six |
| 6 | five |
+----+---------+
现在我想这个命令的结果:
+----+--------+
| id | colors |
+----+--------+
| 1 | red |
| 2 | ten |
| 3 | jack |
| 4 | green |
| 5 | two |
| 6 | peter |
| 7 | blue |
| 8 | one |
| 9 | yellow |
| 10 | three |
| 11 | six |
| 12 | five |
+----+--------+
我该如何实现? (应当指出,order by 1,2,3
不为我工作)
你有3个表责令结果和您选择3列对于每个表,并让它们显示在一列上,实际上每个表需要3个联合。你能否提供一些样本数据以及表格?另外,当你选择没有命令,然后不能保证它们将以什么顺序显示,就像你对第一个查询结果显示为'红色,绿色,蓝色,黄色' –
@AbhikChakraborty我的问题已更新。 – Shafizadeh