【mysql错误】UNION ALL查询结果集中查询对应列出现错误"Every derived table must have its own alias"

sql语句如下


SELECT * FROM 
    (SELECT a.CHARGE_TYPE as 复选框扣费类型 FROM a -- 特意弄个字段
         UNION ALL
     SELECT a.CHARGE_TYPE as 复选框扣费类型 FROM a
    ) 
 WHERE a.id='129' and 复选框扣费类型 != 'PROMOTION' -- 在外面做条件用

错误解析:
Every derived table must have its own alias
每个派生表必须有自己的别名

说白了就是,最外面的select(派生表)没有表名,他不知道查哪个表,此时应该给他个虚拟表名,如 haha


SELECT * FROM 
    (SELECT a.CHARGE_TYPE as 复选框扣费类型 FROM a
         UNION ALL
     SELECT a.CHARGE_TYPE as 复选框扣费类型 FROM a
  ) 
 as haha WHERE a.id='129' and 复选框扣费类型 != 'PROMOTION'   -- 加个别名,就不报错了。


猜你喜欢

转载自blog.csdn.net/qq_33862644/article/details/80852986
今日推荐