sql – 带有AS别名的不明列引用

我不确定在使用别名时如何解决模糊的列引用.

想象一下两个表,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

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。