我不确定在使用别名时如何解决模糊列引用。
想象一下,两个表a
和b
都有一个name
列。如果我连接这两个表并为结果添加别名,我不知道如何为两个表引用name
列。我尝试了一些变体,但它们都不起作用:
SELECT a.name, b.name
FROM (a INNER JOIN b ON a.id = b.id) AS x
这不起作用a
且b
超出范围。
SELECT x.a.name, x.b.name
FROM (a INNER JOIN b ON a.id = b.id) AS x
SQL语法不能像那样工作。
SELECT x.name, x.name
FROM (a INNER JOIN b ON a.id = b.id) AS x
这很简单!
我完全没有想法 - 任何帮助都会非常感激。
答案 0 :(得分:10)
不要用括号括起来,因为(a INNER JOIN b ON a.id = b.id)
不是完整的查询。
SELECT a.name AS A_Name,
b.name AS B_Name
FROM a INNER JOIN b
ON a.id = b.id
或(假设)如果您有更长的表名,并且想要缩短它,
SELECT a.name AS A_Name,
b.name AS B_Name
FROM longTableNameA a
INNER JOIN longTableNameB b
ON a.id = b.id