zoukankan      html  css  js  c++  java
  • 如何联合使用Union和Order by

    如果使用类似下面的SQL语句:

    select columnA, columnB from tableA where columnA = 'Condition 1'
    union
    select columnC, columnD from tableB where columnC = 'Condition 1'
    order by columnA asc

     系统会报错:
    消息 207,级别 16,状态 1,第 4 行
    列名 'columnA' 无效。
    消息 104,级别 16,状态 1,第 4 行
    如果该语句包含 UNION、INTERSECT 或 EXCEPT 运算符,则 ORDER BY 项必须出现在选择列表中。

    问题原因:
    既然把多行给union了,把每列叫成什么名字都是不妥当的。。。只要采用列的序号即可。

    select columnA, columnB from tableA where columnA = 'Condition 1'
    union
    select columnC, columnD from tableB where columnC = 'Condition 1'
    order by 2 asc

    这里需要注意的是,序号从1开始,如果指定的序号不在允许的范围内,系统会报出一个异常

  • 相关阅读:
    qmake杂
    Qt界面风格设置
    qss使用详解
    QT数据库操作
    Qt语言家的简单使用
    c++11之右值引用和std::move
    c++11之类型萃取type_traits
    c++11之std::bind和function
    c++11之lambda
    vue中input输入框无法输入
  • 原文地址:https://www.cnblogs.com/KiloNet/p/2622050.html
Copyright © 2011-2022 走看看