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...
(ИЛИ)
Select x.DocNo...
изменение DocNo к a.DocNo и вы должны быть через – Satya
, если она существует в обеих таблицах это, безусловно, неоднозначны – apomene