簡體   English   中英

在聯接中使用別名

[英]Using an alias within a join

我正在嘗試在左聯接中使用SQL別名。 在聯接中使用別名時,出現錯誤“ on子句中的a_alias列未知”,有人可以指出正確的方向嗎?

SELECT a as a_alias FROM table_a LEFT JOIN table_b ON a_alias = b

干杯

您尚未在別名或聯接中使用別名,因為尚未對其進行評估。 它們僅在聚合中可用,並且按IIRC子句進行分組/分組/排序。

您可以在ON中使用的唯一別名是任何表別名。 SELECT子句在語法中是第一位,但(通常)是最后一個處理步驟; 您在SELECT子句中要求的投影尚不可用。 您不能在ON子句中使用SELECT子句中定義的列別名-您需要指定完整的列名。

如果要在查詢中使用別名,可以執行以下操作:

SELECT *
FROM 
(
    SELECT a as a_alias
    FROM table_a
) ta
LEFT JOIN table_b 
    ON ta.a_alias = b

您可以將SELECT ... FROM用括號括起來,然后在JOIN使用表別名和列別名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM