2017-02-20 2 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... 

(ИЛИ)

Select x.DocNo...