Hallöle,
ich habe mal wieder ein Problem bei dem ich nicht ganz verstehen kann weshalb die Procedure nicht funktioniert:
Tabelle1 Tabelle 2
tbl1_Name|missing|done tbl2_Name
test1||2 test1
test2||2 test3
test3||2 test4
test4||2 test4
etc...
Ich hätte gerne das Tabelle1 und Tabelle2 miteinander verglichen werden, d.h. wenn ein Wert in Tabelle 2 fehlt soll in Tabelle 1 im Feld missing "Missing in Tabl2" stehen ansonsten soll nichts rein.
Das Feld tbl1_name hat leider immer ein Leerzeichen vor dem Namen und es kann sein das in der Tabelle2 die Namen in tbl2_Name doppelt oder gar nicht vorkommen.
Ich habe das schon wie untenstehend probiert, aber ohne Erfolg
Hoffe das meine Erklärung verständlich ist, wenn nnicht einfach nachfragen...
Gruß,
dodger
ich habe mal wieder ein Problem bei dem ich nicht ganz verstehen kann weshalb die Procedure nicht funktioniert:
Tabelle1 Tabelle 2
tbl1_Name|missing|done tbl2_Name
test1||2 test1
test2||2 test3
test3||2 test4
test4||2 test4
etc...
Ich hätte gerne das Tabelle1 und Tabelle2 miteinander verglichen werden, d.h. wenn ein Wert in Tabelle 2 fehlt soll in Tabelle 1 im Feld missing "Missing in Tabl2" stehen ansonsten soll nichts rein.
Das Feld tbl1_name hat leider immer ein Leerzeichen vor dem Namen und es kann sein das in der Tabelle2 die Namen in tbl2_Name doppelt oder gar nicht vorkommen.
Ich habe das schon wie untenstehend probiert, aber ohne Erfolg
Code:
declare @name varchar(20); declare @x int; set @x=1 while @x<1000 begin SELECT @name=tbl1_Name FROM tabelle1 WHERE done = '2' or done = 2 if LTRIM(@name) not in (select distinct tbl2_Name from tabelle2) update tabelle1 set missing = 'Missing in Tbl2' where tabelle1.tbl1_Name = @name if LTRIM(@name) not in (select distinct tbl2_Name from tabelle2) update tabelle1 set done = 3 where tabelle1.tbl1_Name = @name set @x=@x+1 end
Gruß,
dodger
Comment