1. 程式人生 > 資料庫 >Mysql錯誤Every derived table must have its own alias解決方法

Mysql錯誤Every derived table must have its own alias解決方法

mysql執行多表查詢時報錯:

[SQL] SELECT * from 
(
select e.account from employee e
UNION
SELECT u.account from `user` u
UNION
SELECT a.account from agent a
)
[Err] 1248 - Every derived table must have its own alias

這句話的意思是每個派生出來的表必須有一個自己的別名

一般是在多表查詢或者子查詢的時候會出現這個錯誤,因為在巢狀查詢中,子查詢的結果是作為一個派生表給上一級進行查詢,所以子查詢的結果必須有一個別名。

上面的例子中,把查詢語句修改一下:

SELECT * from 
(
select e.account from employee e
UNION
SELECT u.account from `user` u
UNION
SELECT a.account from agent a
)as total

如上所示,在子查詢的後面增加一句 as total,相當於給子查詢的結果集派生表取別名為total,問題就解決了。