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中的暧昧代码
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中的暧昧代码
显然因为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;
原因最可能是两种连接表具有相同的列名,因此,你需要用表别名参考它像
Select a.DocNo...
(OR)
Select x.DocNo...
变化DocNo到a.DocNo,你应该通过 – Satya
如果两个表中存在,它肯定是不明确 – apomene