Как установить статус конфликта, когда существует один и тот же идентификатор ?
шаги для достижения этой цели
1 - сделать соответствующие разделы части существуют на временную таблицу #Temp, которая имеет тот же идентификатор в масках из временной таблицы #детали
в этом случае результатом будет
PartId MaskId ChemicalId 200 1000 901 500 1700 909 600 1700 909
2 - проверить на временную таблицу #химические для partid или часть идентификатора же maskId
если chemicalid на шаге 1 то же самое chemicalid на таблице temp chemical
затем статус будет обновлен до конфликта на основе идентификатора детали .
Вот уже 200 901 химической ID на временную таблицу #Temp и химической временной таблицы у 901 за 100
тогда статус будет конфликтным, потому что он связан с одним и тем же идентификатором маски и имеет один и тот же химический идентификатор 901 .
Подробности
create table #temp ( partid int, maskid int, chemicalid int, status nvarchar(50) ) insert into #temp values (100,1000,901,null), (700,1700,909,null) create table #parts ( PartId int, maskId int ) insert into #parts (PartId,maskId) values (100,1000), (200,1000), (500,1700), (600,1700), (700,1700) create table #Chemical ( Chemicalmasterid int, ChemicalId int, PartId int ) insert into #Chemical(Chemicalmasterid,ChemicalId,PartId) values (1 ,901,100), (7 ,920,700) final result 100 1000 901 conflict chemical id 700 1700 909 null
Что я уже пробовал:
update t set status ='conflict chemical id' from #temp t
Wendelius
Не могли бы вы еще раз проверить описание проблемы. Например, результирующие данные на шаге 1. Откуда вы знаете, что partid 200 имеет checmicalid 901?