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

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...