5

我不确定在使用别名时如何解决不明确的列引用。

想象一下两个表,a它们b都有一name列。如果我加入这两个表并为结果设置别名,我不知道如何引用这name两个表的列。我已经尝试了一些变体,但它们都不起作用:

尝试 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

这简直是​​模棱两可!

我完全没有想法 - 任何帮助将不胜感激。

4

1 回答 1

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
于 2012-10-21T23:55:26.533 回答