zoukankan      html  css  js  c++  java
  • Two Solutions to fix issue: ORDER BY items must appear in the select list if the statement contains a UNION, ...

    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

    做个快乐的自己。
  • 相关阅读:
    TP生成二维码插件
    day23 常用模块(中)
    day22 作业
    day22 常用模块(上)
    day21 模块与包+软件开发目录规范
    day20 作业
    day20 函数收尾+面向过程+模块
    day19 作业
    day19 生成器+函数递归
    day18 作业
  • 原文地址:https://www.cnblogs.com/Jessy/p/2119577.html
Copyright © 2011-2022 走看看