проблема
Как удалить строки из торгового кода таблицы, где у меня есть значение childcode без значения parentcode?
Существуют родительское значение и значение childcodevalue для торгового кода таблицы на основе таблицы
MappingCodeValue parentcodevalue и childcodevalue.
, поэтому мне нужно удалить записи из таблицы торговых кодов, которые не имеют parentcodevalue
в торговом коде таблицы, основанном на mappingcodevalue таблицы
, поэтому в соответствии с моим объяснением две строки 5 , 6 в таблице торговых кодов будут удалены
TradeCodeId PartId CodeType CodeValue
5 1444 ECCS-URB AB666-URB
6 1931 ECCS-URB AB778-URB
5, а 6 является значением дочернего кода и не имеет строк родительского значения, как AB666-US и AB778-US
, так что это неправильно, и я удалю его
но другие строки в торговом коде имеют значение родительского кода и значение дочернего кода
в соответствии с таблицей mappingcodevalue, так что это правильно
, так как написать запрос удалить строки, childcodevalue и не имеют
parentcodevalue из торгового кода
в зависимости от значения, существующего в mappingco значение
drop table #MappingCodeValue
drop table #TradeCode
create table #MappingCodeValue
(
id int identity (1,1),
ParentCodeType nvarchar(50),
ParentCodeValue nvarchar(50),
ChildCodeType nvarchar(50),
ChildCodeValue nvarchar(50)
)
INSERT INTO #MappingCodeValue
(ParentCodeType,ParentCodeValue,ChildCodeType,ChildCodeValue)
VALUES
('ECCS-US','AB123-US','ECCS-URB','AB123-URB'),
('ECCS-US','AB555-US','ECCS-URB','AB555-URB'),
('ECCS-US','AB666-US','ECCS-URB','AB666-URB'),
('ECCS-US','AB778-US','ECCS-URB','AB778-URB')
CREATE TABLE #TradeCode
(
TradeCodeId int identity(1,1),
PartId int,
CodeType nvarchar(50),
CodeValue nvarchar(50)
)
insert into #TradeCode(PartId,CodeType,CodeValue)VALUES
(1222,'ECCS-US','AB123-US'),
(1255,'ECCS-US','AB555-US'),
(1222,'ECCS-URB','AB123-URB'),
(1255,'ECCS-URB','AB555-URB'),
(1444,'ECCS-URB','AB666-URB'),
(1931,'ECCS-URB','AB778-URB')
что я пробую
delete t from #tradecode t
left join #mappingcodevalue pn on t.CodeValue=pn.ParentCodeValue and t.CodeType=pn.ParentCodeType
where t.CodeValue is null
см. изменения изображения