我不确定在使用别名时如何解决模糊的列引用.
想象一下两个表,a和b都有一个名称列.如果我连接这两个表并为结果添加别名,我不知道如何引用两个表的名称列.我尝试了一些变体,但它们都不起作用:
尝试1
SELECT a.name,b.name FROM (a INNER JOIN b ON a.id = b.id) AS x
这不起作用a和b超出范围.
尝试2
SELECT x.a.name,x.b.name FROM (a INNER JOIN b ON a.id = b.id) AS x
sql语法不能像那样工作.
尝试3
SELECT x.name,x.name FROM (a INNER JOIN b ON a.id = b.id) AS x
那简直太模糊了!
我完全没有想法 – 任何帮助都会非常感激.
解决方法
不要用括号括起来,因为(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