【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'   -- 加個別名,就不報錯了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章