2017-02-20 71 views
0
Select DocNo From thecat24 a inner join Thecat23 x 
on a.N_Solicitud = x.N_Solicitud where x.Codigo_Proyecto = N'2' and DocNo <> 33 

它说DocNo是不明确的,我不明白为什么?任何修复?SQL Server中的暧昧代码

+0

变化DocNo到a.DocNo,你应该通过 – Satya

+0

如果两个表中存在,它肯定是不明确 – apomene

回答

3

显然因为DocNo是两个表。当查询中有多个表格时,您应该限定所有列名称。这只是一个好习惯,所以你的查询是可维护的,可读的和明确的。

事情是这样的:

Select a.DocNo 
From thecat24 a inner join 
    Thecat23 x 
    on a.N_Solicitud = x.N_Solicitud 
where x.Codigo_Proyecto = N'2' and a.DocNo <> 33; 
2

原因最可能是两种连接表具有相同的列名,因此,你需要用表别名参考它像

Select a.DocNo... 

(OR)

Select x.DocNo...