Mysql錯誤Every derived table must have its own alias解決方法
阿新 • • 發佈:2020-01-09
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,問題就解決了。