ahmed elbarbary

ahmed elbarbary

  • NA
  • 1.6k
  • 278.5k

If record exist update partlevel from 1 to 0?

Apr 10 2020 5:25 PM
problem
if record exist on trade code table update partlevel from 1 to 0 ?
the code below insert new record on trade code for codetypeto and codevalueto if not exist on table tradecode
i need to modify code below if codevalueto and code typeto both exist on table tradecode
then update partlevel from 1 to 0 to codetypeto and codevalueto on tradecode table that already exist
else
insert record on tradecode table to codetypeto and codevalueto that not exist 
  1. create table #MappingCodeValue  
  2.  (  
  3.  id int identity (1,1),  
  4.   CodeTypeFrom  nvarchar(50),  
  5.  CodeValueFrom  nvarchar(50),  
  6.  CodeTypeTo  nvarchar(50),  
  7.  CodeValueTo  nvarchar(50)  
  8.  )  
  9.  INSERT INTO #MappingCodeValue  
  10.  (CodeTypeFrom,CodeValueFrom,CodeTypeTo,CodeValueTo)  
  11.  VALUES  
  12.  ('ECCS-US','AB123-US','ECCS-URB','AB123-URB'),  
  13.  ('ECCS-US','AB555-US','ECCS-URB','AB555-URB'),  
  14.  ('ECCS-US','AB666-US','ECCS-URB','AB666-URB'),  
  15.  ('ECCS-US','AB756-US','ECCS-URB','AB778-URB')  
  16.   
  17.   
  18.  CREATE TABLE #TradeCode  
  19.  (  
  20.  TradeCodeId int identity(1,1),  
  21.  PartId  int,  
  22.  Partlevel int,  
  23.  CodeType  nvarchar(50),  
  24.  CodeValue nvarchar(50)  
  25.  )  
  26.  insert into #TradeCode(PartId,Partlevel,CodeType,CodeValue)VALUES  
  27.  (1222,1,'ECCS-US','AB123-US'),  
  28.  (1255,1,'ECCS-US','AB555-US'),  
  29.  (1444,1,'ECCS-US','AB666-US'),  
  30.  (1931,1,'ECCS-US','AB756-US')  
  31.   
  32. insert into #TradeCode  
  33. select c.PartId, c.Partlevel, c.CodeType, m.CodeValueTo  
  34. from #MappingCodeValue as m  
  35. inner join #TradeCode as c on c.CodeType = m.CodeTypeFrom and c.CodeValue = m.CodeValueFrom  
  36. where not exists( select * from #TradeCode where CodeType = c.CodeType and CodeValue = m.CodeValueTo)  
  37. Select * from #TradeCode  
 Expected Result
  1. TradeCodeId PartId  Partlevel   CodeType    CodeValue  
  2. 1            1222     1          ECCS-US    AB123-US  
  3. 2            1255     1          ECCS-US    AB555-US  
  4. 3            1444     1          ECCS-US    AB666-US  
  5. 4            1931     1          ECCS-US    AB756-US  
  6. 5            1222     0          ECCS-URB    AB123-URB  
  7. 6            1255     0          ECCS-URB    AB555-URB  
  8. 7            1444     0          ECCS-URB    AB666-URB  
  9. 8            1931     0          ECCS-URB    AB778-URB 

Answers (1)