Так, видимо, это имеет неоднозначных имя столбца «LocationID»:Неоднозначное название столбца ... но только иногда?
DECLARE @temptable table (LocationID int)
INSERT INTO @temptable SELECT LocationID FROM inserted;
INSERT INTO dbo.LocationsPlants (LocationID, PlantID)
(SELECT LocationID, PlantID FROM dbo.Plants CROSS JOIN @temptable)
Что я могу исправить, изменив нижнюю строку:
(SELECT T.LocationID, PlantID FROM dbo.Plants CROSS JOIN @temptable AS T)
Но это идентичный запрос на другом столе делает НЕ имеют двусмысленную колонку Инкотермс ID:
DECLARE @temptable table (IncotermsID int)
INSERT INTO @temptable SELECT IncotermsID FROM inserted;
INSERT INTO dbo.IncotermsPlants (IncotermsID, PlantID)
(SELECT IncotermsID,PlantID FROM dbo.Plants CROSS JOIN @temptable)
Я озадачен. Таблица структуры:
dbo.Locations:
[LocationID] [int] NOT NULL,
[LocationTypeID] [int] NOT NULL,
[Title] [varchar](100) NULL
dbo.Incoterms:
[IncotermsID] [int] IDENTITY(1,1) NOT NULL,
[Incoterm] [varchar](20) NOT NULL
Всегда используйте псевдонимы таблиц и квалифицированные имена столбцов, особенно если в запросе содержится более одной таблицы. Тогда вам никогда не придется беспокоиться об этой ошибке. –
И определение для растений? –
Бинго, я забыл, что у меня было LocationID в растениях. НЕОБХОДИМОСТЬ. БОЛЬШЕ. КОФЕ. – Eliska