SQL Server中的模糊代码

时间:2017-02-20 11:58:26

标签: sql 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含糊不清,我不明白为什么?任何修复?

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分:2)

因为很可能联接表都具有相同的列名,因此您需要使用表别名来引用它,如

Select a.DocNo...

(OR)

Select x.DocNo...