update ergebnis aus subselect

Fragen und Probleme rund um die Abfragespache SQL.
Antworten
simar
Benutzer
Beiträge: 68
Registriert: Di 9. Okt 2018, 17:40

update ergebnis aus subselect

Beitrag von simar » Fr 8. Nov 2019, 17:46

Hallo zusammen ich komme mal wieder nicht weiter
habe ein Subselect das mir 500 Zeilen mit dem gesuchten Wert "378" auflistet
nun möchte ich diese 500 Einträge mit dem neuen Wert "100" updaten
bekomme aber je nach Versuch unterschiedliche Fehlermeldungen
kann mir da jemand weiterheilfen?


update Tabelle_aaa
set Tabelle_aaa.id_dis = 100

?????

(select Tabelle_aaa.id_dis
from Tabelle_aaa
where Tabelle_aaa.id_tr in
(select Tabelle_bbb.id_ses
from
Tabelle_bbb,
Tabelle_aaa
where Tabelle_bbb.id_ses = Tabelle_aaa.id_tr
and Tabelle_aaa.id_dis =378))

castorp
Erfahrener Benutzer
Beiträge: 1177
Registriert: Sa 27. Jun 2009, 22:24
Wohnort: Bayern

Re: update ergebnis aus subselect

Beitrag von castorp » Fr 8. Nov 2019, 18:05

Ich weiß nicht wie es den anderen geht, aber ich finde Beispiele mit Namen wie "aaa" und "bbb" extrem schwer zu verstehen.
Auf den ersten Blick scheinen die Werte ja alle aus der aaa Tabelle zu kommen, könntest Du da nicht einfach:

Code: Alles auswählen

update Tabelle_aaa
  set id_dis = 100
where aaa.id_dis = 378
verwenden?
Oder willst Du nur die ändern die auch in der bbb Tabelle vorhanden sind?
Dann vielleicht ein:

Code: Alles auswählen

update Tabelle_aaa
  set id_dis = 100
where exists (select * 
              from tabelle_bbb 
              where tabelle_bbb.id_ses = tabelle_aaa.id_tr)
and id_dis = 378
Zuletzt geändert von castorp am Fr 8. Nov 2019, 18:30, insgesamt 1-mal geändert.
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

simar
Benutzer
Beiträge: 68
Registriert: Di 9. Okt 2018, 17:40

Re: update ergebnis aus subselect

Beitrag von simar » Fr 8. Nov 2019, 18:26

funktioniert leider nicht

ERROR: FEHLER: Spalte »tabelle_aaa« von Relation »tabelle_aaa« existiert nicht
LINE 2: set tabelle_aaa.id_dis = 100

castorp
Erfahrener Benutzer
Beiträge: 1177
Registriert: Sa 27. Jun 2009, 22:24
Wohnort: Bayern

Re: update ergebnis aus subselect

Beitrag von castorp » Fr 8. Nov 2019, 18:31

Sorry, ich habe Deinen Code kopiert ohne Nachzudenken.

"set Tabelle_aaa.id_dis = ..." muss natürlich "set id_dis = .." sein.
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

simar
Benutzer
Beiträge: 68
Registriert: Di 9. Okt 2018, 17:40

Re: update ergebnis aus subselect

Beitrag von simar » Fr 8. Nov 2019, 18:36

hat Funktioniert, danke

auf die "where exists( select" Variante wäre ich nicht gekommen

Antworten