[英]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.