![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Elite
![]() |
![]() Hallo,
ich habe eine Tabelle, in der ich bei den Feldern, die eine gewisse Bedingung erfüllen den Wert aus einer anderen Tabelle eintragen soll. In hätte das so gemacht: UPDATE tabelle1 a, tabelle2 b SET a.feld = b.feld WHERE a.id = b.id and a.bedingungsefeld = 1; Jetzt habe ich per Internet schon mal herausgefunden, dass dies mit Oracle nicht geht, aber wie kann ich dort so etwas lösen? Vielen Dank im Voraus für eure Hilfe und schöne Grüße Nestrus
____________________________________
"reden 2 unsinn im wcm forum, meint der dritte is eh offtopic" (Gifty am 14. Apr 2002 um 22:47 in " WCM Rat & Tat Forum > Meinung > Guru, e-Zitate & Off Topic > Kommt ein Mann zum Arzt...") |
![]() |
![]() |
![]() |
#2 |
Hero
![]() Registriert seit: 07.10.2002
Beiträge: 872
|
![]() ich häts so gemacht
update tabelle1 set feld =(select feld from tabelle2 where tabelle1.id=tabelle2.id) where bedingungsefeld=1; |
![]() |
![]() |
![]() |
#3 |
Elite
![]() |
![]() Na klar, mit 'nem subselect.
Mir war gar nicht bewusst, das ich im subselect auch felder der übergeordneten abfrage verwenden kann. (Mein SQL ist wohl eingerosteter, als ich dachte.) Wunderbar, ich hab nämlich auch gerade das Problem gehabt, dass update tabelle1 set feld = (select zahl2 from tabell2)*zahl1; nicht geht, aber jetzt weiß ich dass es einfach update tabelle1 set feld = (select zahl2*zahl1 from tabelle2); heißt. Danke!
____________________________________
"reden 2 unsinn im wcm forum, meint der dritte is eh offtopic" (Gifty am 14. Apr 2002 um 22:47 in " WCM Rat & Tat Forum > Meinung > Guru, e-Zitate & Off Topic > Kommt ein Mann zum Arzt...") |
![]() |
![]() |
![]() |
#4 |
Elite
![]() |
![]() Wenn ich schon am fragen bin, gibt es eine lösung für:
update tabelle set (feld1, feld 2)= ((select feld3 from tabelle2 where bedingung = 1), (select feld3 from tabelle2 where bedingung = 2)); Oder geht dass nur mit zwei updates?
____________________________________
"reden 2 unsinn im wcm forum, meint der dritte is eh offtopic" (Gifty am 14. Apr 2002 um 22:47 in " WCM Rat & Tat Forum > Meinung > Guru, e-Zitate & Off Topic > Kommt ein Mann zum Arzt...") |
![]() |
![]() |
![]() |
#5 |
Hero
![]() Registriert seit: 07.10.2002
Beiträge: 872
|
![]() versuch mal
update tabelle set feld1=(select feld3 from tabelle2 where bedingung = 1), feld2=(select feld3 from tabelle2 where bedingung = 2); |
![]() |
![]() |
![]() |
#6 |
Elite
![]() |
![]() Oh klar, danke.
Hat zwar ziemlich lange gedauert (38s für nur 33.482 Zeilen) aber es funktioniert. Ich bin wohl nur ein paar Dinge etwas anders gewohnt, als man es bei Oracle schriebt.
____________________________________
"reden 2 unsinn im wcm forum, meint der dritte is eh offtopic" (Gifty am 14. Apr 2002 um 22:47 in " WCM Rat & Tat Forum > Meinung > Guru, e-Zitate & Off Topic > Kommt ein Mann zum Arzt...") |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|