SQL Server中的不明确代码 从CAT24 a内部连接到CAT23 x中选择文档编号 关于a.N_claircud=x.N_claircud,其中x.Codigo_Proyecto=N'2'和DocNo 33

SQL Server中的不明确代码 从CAT24 a内部连接到CAT23 x中选择文档编号 关于a.N_claircud=x.N_claircud,其中x.Codigo_Proyecto=N'2'和DocNo 33,sql,sql-server,Sql,Sql Server,上面说DocNo模棱两可,我不明白为什么?有办法吗 原因很可能两个联接的表都有相同的列名,因此需要使用表别名引用它,如 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 (或) 原因很可能两个联接的表都有相同的列名,因此需要使用表别名引用它,如 Select DocNo

上面说DocNo模棱两可,我不明白为什么?有办法吗

原因很可能两个联接的表都有相同的列名,因此需要使用表别名引用它,如

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 
(或)


原因很可能两个联接的表都有相同的列名,因此需要使用表别名引用它,如

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
在两个表中。当查询中有多个表时,应限定所有列名。这只是一个好习惯,因此您的查询是可维护的、可读的和明确的

大概是这样的:

Select x.DocNo...
选择一个文件编号
从CAT24 a内部连接
第23X节
关于a.N_请求=x.N_请求
其中x.Codigo_Proyecto=N'2'和a.DocNo 33;

很清楚,因为两个表中都有
DocNo
。当查询中有多个表时,应限定所有列名。这只是一个好习惯,因此您的查询是可维护的、可读的和明确的

大概是这样的:

Select x.DocNo...
选择一个文件编号
从CAT24 a内部连接
第23X节
关于a.N_请求=x.N_请求
其中x.Codigo_Proyecto=N'2'和a.DocNo 33;

将DocNo更改为a.DocNo,您应该完成如果它在两个表中都存在,那么肯定是模糊的将DocNo更改为a.DocNo,您应该完成如果它在两个表中都存在,那么肯定是模糊的