Spalten dividieren?



  • Tabelle:
    Wert1   Wert2   Ergebnis
      1       1       Null
      2       2       Null
      3       3       Null
      .       .         .
      .       .         .
      .       .         .
    

    Hi Leute!

    Ich hab oben gezeigt Tabelle. Ich möchte nun in einem Query die Ergebnisspalte mit der Berechnung aus Wert1 + Wert2 füllen. Wie gehe ich da vor? Ich hab natürlich schon mal angefangen einen Query hin zu schreiben:

    update Tabelle
    set Ergebnis = (select Wert1 / Wert2 from Tabelle);

    Die select-Abfrage tut einzeln was sie soll; in Verbindung mit dem Update aber nicht so ganz. Da bekomm ich vom Oracle SQL-Developer folgendes zurück:

    Fehlerbericht:
    SQL-Fehler: ORA-01427: single-row subquery returns more than one row
    01427. 00000 - "single-row subquery returns more than one row"
    *Cause:
    *Action:



  • Ja, du musst eine WHERE-Klausel ins Subselect einfügen, etwa so:

    update Tabelle t1
    set Ergebnis = (select Wert1 / Wert2 from Tabelle where id = t1.id);



  • Es reicht:

    UPDATE t1 SET Ergebnis = Wert1/Wert2


Anmelden zum Antworten