【发布时间】:2016-02-13 10:55:47
【问题描述】:
假设我的表 1 和表 2 具有相同的列。我想将它们组合并按column3和column4排序,并保留表列顺序。怎么可能?
我收到以下错误:
ORDER BY 项必须出现在选择列表中,如果语句 包含 UNION、INTERSECT 或 EXCEPT 运算符。
查询
SELECT COLUMN1, COLUMN2, COLUMN3, COLUMN4 FROM TABLE 1
UNION COLUMN1, COLUMN2, COLUMN3, COLUMN4 FROM TABLE 2
ORDER BY COLUMN2, COLUMN3
【问题讨论】:
-
UNION的第二个查询中缺少SELECT关键字 -
select * from (SELECT COLUMN1, COLUMN2, COLUMN3, COLUMN4 FROM TABLE 1 UNION SELECT COLUMN1, COLUMN2, COLUMN3, COLUMN4 FROM TABLE 2)x ORDER BY x.COLUMN2, x.COLUMN3
标签: sql sql-server select sql-order-by union