我正在尝试在左连接中使用SQL别名。在连接中使用别名时,我在on子句中收到错误'unknown a_alias column' 有人能指出我正确的方向吗?
SELECT a as a_alias FROM table_a LEFT JOIN table_b ON a_alias = b
干杯
答案 0 :(得分:1)
您无法在where或join中使用别名,因为尚未对其进行评估。它们只能通过/具有条款IIRC来汇总和分组。
答案 1 :(得分:0)
您可以在ON
中使用的唯一别名是任何表别名; SELECT
子句在语法中是第一个,但是(通常)是 last 处理步骤;您在SELECT
子句中要求的预测尚不可用。您不能使用SELECT
子句中ON
子句中定义的列别名 - 您需要指定完整的列名。
答案 2 :(得分:0)
如果要在查询中使用别名,可以执行以下操作:
SELECT *
FROM
(
SELECT a as a_alias
FROM table_a
) ta
LEFT JOIN table_b
ON ta.a_alias = b
您可以将SELECT ... FROM
括在括号中,然后在JOIN
中使用表格别名和列别名。