Jac*_*ack 6 sql postgresql alias ambiguous
我不确定在使用别名时如何解决模糊的列引用.
想象一下两个表,a
并且b
都有一个name
列.如果我连接这两个表并为结果添加别名,我不知道如何引用这name
两个表的列.我尝试了一些变体,但它们都不起作用:
SELECT a.name, b.name
FROM (a INNER JOIN b ON a.id = b.id) AS x
Run Code Online (Sandbox Code Playgroud)
这不起作用,a
并且b
超出范围.
SELECT x.a.name, x.b.name
FROM (a INNER JOIN b ON a.id = b.id) AS x
Run Code Online (Sandbox Code Playgroud)
SQL语法不能像那样工作.
SELECT x.name, x.name
FROM (a INNER JOIN b ON a.id = b.id) AS x
Run Code Online (Sandbox Code Playgroud)
那简直太模糊了!
我完全没有想法 - 任何帮助都会非常感激.
Joh*_*Woo 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
Run Code Online (Sandbox Code Playgroud)
或者(假设)如果你有更长的表名,你想缩短它,
SELECT a.name AS A_Name,
b.name AS B_Name
FROM longTableNameA a
INNER JOIN longTableNameB b
ON a.id = b.id
Run Code Online (Sandbox Code Playgroud)