![](/img/trans.png)
[英]MYSQL Error Not unique table/alias SQL join table with INNER JOIN
[英]SQL INNER JOIN does not see table alias
我在處理此SQL語句時遇到了麻煩:
SELECT linkstable.date, (linkstable.count - x.count)
FROM (SELECT .....) AS linkstable
INNER JOIN linkstable AS x
ON linkstable.date = x.date+1
它告訴我,盡管(SQL錯誤1146)顯然沒有該選擇查詢的別名,但找不到鏈接表。 有人可以告訴我如何繞過此錯誤嗎?
您不能為別名加上別名。 如果要將表自身連接,請重復選擇:
SELECT linkstable.date, (linkstable.count - x.count)
FROM (SELECT .....) AS linkstable
INNER JOIN (SELECT .....) AS x ON linkstable.date = x.date+1
如果內部選擇太麻煩,或者您遇到性能問題,請將其結果插入到臨時表中,然后在主查詢中使用它。
您不能像這樣在FROM
子句中引用子查詢的別名。 但是,如果您的數據庫支持通用表表達式,則可以使用WITH
子句完成相同的操作:
WITH linkstable as (SELECT ...)
SELECT linkstable.date, (linkstable.count - x.count)
FROM linkstable
INNER JOIN linkstable AS x
ON linkstable.date = x.date+1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.