您的位置:首页 > 移动开发

Two Solutions to fix issue: ORDER BY items must appear in the select list if the statement contains a UNION, ...

2011-07-28 15:04 537 查看
ORDER BY items must appear in the select list if the statement contains a UNION, INTERSECT or EXCEPT operator.

Solution 1:

To fix this problem I put my Union statement into a derived table by doing the following.

SELECT * FROM (

SELECT Column1, Column2 FROM Table_A

UNION ALL

SELECT Column1, Column2 FROM Table_B

) DerivedTableName (Column1, Column2)

Next I added in my dynamic Order By code as such.

SELECT * FROM (

SELECT Column1, Column2 FROM Table_A

UNION ALL

SELECT Column1, Column2 FROM Table_B

) DerivedTableName (Column1, Column2)

ORDER BY

CASE @OrderBy WHEN ‘Column1ASC’ THEN Column1 END ASC,

CASE @OrderBy WHEN ‘Column1DESC’ THEN Column1 END DESC

Solution2:

SELECT Z.ax, Z.by, Z.cz
FROM (SELECT a,b,c FROM X
UNION
SELECT x,y,z FROM Y)

AS Z Order by a

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐