Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Update über mehrere Tabellen (https://www.delphipraxis.net/116477-update-ueber-mehrere-tabellen.html)

HolgerCW 30. Jun 2008 11:30

Datenbank: ORACLE • Version: 10 • Zugriff über: BDE

Update über mehrere Tabellen
 
Hallo zusammen,

wie kann ich ein Update über mehrere Tabellen machen ?

So klappt es nicht:

Delphi-Quellcode:
update (((sysdbp.dbp_leistungswerte lw
left join syswvkisu.anlage an
on lw.anlagennummer = an.anlage)
left join syswvkisu.objekt ob
on an.objekt = ob.objekt)
left join syswvkisu.strasse st
on ob.strasse = st.strasse)
left join syswvkisu.ort ot
on st.ort = ot.ort
set lw.druckstufe = 25
where ot.name = 'Gladbeck'
Gruss

Holger

automatix 30. Jun 2008 13:02

Re: Update über mehrere Tabellen
 
Hallo!

Ohne Deine Tabellenstruktur zu kennen, meintest Du vielleicht so etwas:

SQL-Code:
update
   sysdbp.dbp_leistungswerte lw
set
   lw.druckstufe = 25
where
   lw.anlagennummer = (
      select distinct
         an.anlage
      from
         syswvkisu.anlage an
         join syswvkisu.objekt ob
            on ob.objekt = an.objekt
         join syswvkisu.strasse st
            on st.strasse = ob.strasse
         join syswvkisu.ort ot
            on ot.ort = st.ort
      where
         ot.name = 'Gladbeck'
   )
Grüße

HolgerCW 30. Jun 2008 13:50

Re: Update über mehrere Tabellen
 
Das geht schon mal in die richtige Richtung.

Nur sollen natürlich bei mehreren Anlagen die Druckstufe auf 25 gesetzt werden. Daher liefert die Unterabfrage auch mehrere Ergebnisse und dann funktioniert es wieder nicht. Wenn die Unterabfrage nur eine Anlagennummer als Ergebnis hätte, würde das wohl funktionieren.

Hast Du da noch eine andere Idee ?

Gruss

Holger

DeddyH 30. Jun 2008 13:52

Re: Update über mehrere Tabellen
 
Versuch es mal mit
SQL-Code:
...
where
   lw.anlagennummer IN (
...

HolgerCW 30. Jun 2008 15:42

Re: Update über mehrere Tabellen
 
Vielen dank.

Das hat geklappt.

Gruss

Holger


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz