gigi300885

SQL Abfrage Update nach Vergleich

Hallo zusammen,

ich habe folgendes Problem und leider nicht wirklich eine Idee dazu:

Es sind zwei Tabellen die verglichen werden müssen und anhand dessen Ergebnis ein Update durchgeführt werden soll.

Tabelle geprüfteFehler:
Sendungsnr Datum etc
12345 21.11.2014
45678 22.11.2014


Tabelle Sendung:
Sendngsummer Status Datum hinweis
12345 10 Fehler
55555 11 Test


Nun benötige ich eine Abfrage die folgendendes macht:

Wenn Hinweis von Tabelle "Sendung" like '%Fehler%' und Sendungsnummer nicht in Tabelle "geprüfteFehler" enthalten
dann mach ein Update der Tabelle "Sendung" und setze bei dieser Sendungsnummer das Feld Hinweis='Kein Fehler'

Leider bin ich noch nicht gnz so fit in SQL so dass ich diesen Vergleich nicht hin bekomme.

Bin für jede Hilfe dankbar.

Gruß gigi
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 255694

Url: https://administrator.de/forum/sql-abfrage-update-nach-vergleich-255694.html

Ausgedruckt am: 29.04.2025 um 13:04 Uhr

MadMax
Lösung MadMax 24.11.2014 aktualisiert um 16:17:05 Uhr
Goto Top
Hallo gigi,

Du schreibst nicht, was Du für eine DB hast, bei SQL Server würde das z.B. so aussehen:
update	Sendung
set	hinweis = 'Kein Fehler'  
from	Sendung s
where	hinweis like '%Fehler%' and  
	not exists (select 1 from geprüfteFehler where Sendungsnr = s.Sendngsummer)
Dir ist aber schon klar, daß mit dem "hinweis like '%Fehler%'" auch alle DS mit hinweis = 'Kein Fehler' nochmal geprüft werden, oder? Will sagen: Du solltest nochmal schauen, was da alles drin sein kann und die Bedingung dementsprechend anpassen.

Gruß, Mad Max
Gersen
Gersen 24.11.2014 aktualisiert um 12:49:13 Uhr
Goto Top
Hallo,

ungetestet:
update Sendung set hinweis = 'Kein Fehler' where hinweis like '%Fehler%' and Sendngsummer NOT IN (select Sendungsnr from geprüfteFehler)

Gruß,
Gersen
gigi300885
gigi300885 24.11.2014 um 16:19:00 Uhr
Goto Top
super vielen Dankface-smile
Hat funktioniert. Und das mit den Bedingungen war einfach ein schlecht gewähltes Beispiel. Es wird nach "Ausfall" gesucht und das durch "Kein Fehler" ersetzt.