TeddyRuxpin
Neuer Benutzer
- Beiträge
- 3
Hallo,
ich habe ein etwas wirres Oracle SQL-Problem. Die Datenbank ist 11g.
Ich habe eine Tabelle TEMP, da steht eine PersonenID und ein SJ (Sterbejahr) drin,
dann habe ich eine andere Tabelle, nennen wir sie hier mal DATEN, da steht die PersonenID als IDNR drin, sowie eine Spalte SJ, die aber noch leer ist. Diese Tabelle hat bereits andere zur IDNR zugehörige Einträge in weiteren Spalten ,die hier aber unerheblich sind.
Alles in einem DB-Schema.
Nun möchte ich die Spalte SJ in der Tabelle DATEN per UPDATE-Statement befüllen, und zwar mit den Inhalten aus SJ, die in der Tabelle TEMP drin stehen. Es muss natürlich zur PersonenID / IDNR passen. Es sind selbstverständlich mehrere Datensätze die upgedatet werden sollen.
Ich habe nun verschiedene Varianten ausprobiert, aber entweder hat das System nach 24 h immernoch kein ergebnis geliefert, wenn es gearbeitet hat, oder ich hab ne Fehlermeldung bekommen.
Fehlermeldung:
Ich habe folgendes Statement probiert:
Kann mir jemand helfen, wie ich o.g. Problem lösen kann? ![Confused :confused: :confused:](/styles/default/xenforo/smilies/confused.png)
Sämtliche Anleitungen im Internet fruchten bei mir nicht, also bitte keine Links....
Danke im Voraus!
ich habe ein etwas wirres Oracle SQL-Problem. Die Datenbank ist 11g.
Ich habe eine Tabelle TEMP, da steht eine PersonenID und ein SJ (Sterbejahr) drin,
dann habe ich eine andere Tabelle, nennen wir sie hier mal DATEN, da steht die PersonenID als IDNR drin, sowie eine Spalte SJ, die aber noch leer ist. Diese Tabelle hat bereits andere zur IDNR zugehörige Einträge in weiteren Spalten ,die hier aber unerheblich sind.
Alles in einem DB-Schema.
Nun möchte ich die Spalte SJ in der Tabelle DATEN per UPDATE-Statement befüllen, und zwar mit den Inhalten aus SJ, die in der Tabelle TEMP drin stehen. Es muss natürlich zur PersonenID / IDNR passen. Es sind selbstverständlich mehrere Datensätze die upgedatet werden sollen.
Ich habe nun verschiedene Varianten ausprobiert, aber entweder hat das System nach 24 h immernoch kein ergebnis geliefert, wenn es gearbeitet hat, oder ich hab ne Fehlermeldung bekommen.
Fehlermeldung:
Ich verstehe zwar die Meldung, aber ich habe keinen Plan, wie ich das korrigieren soll.Fehler beim Start in Zeile 6 in Befehl:
update daten d
set SJ = (select distinct t.SJ from temp t, daten d
where t.personen_id = d.idnr)
where d.idnr = (select distinct d.idnr from temp t, daten d
where t.personen_id = d.idnr)
Fehlerbericht:
SQL-Fehler: ORA-01427: Unterabfrage für eine Zeile liefert mehr als eine Zeile
01427. 00000 - "single-row subquery returns more than one row"
*Cause:
*Action:
Ich habe folgendes Statement probiert:
Code:
update daten d
set SJ = ( select distinct t.SJ from temp t, daten d
where t.personen_id = d.idnr)
where d.idnr = (select distinct d.idnr from temp t, daten d
where t.personen_id = d.idnr);
![Confused :confused: :confused:](/styles/default/xenforo/smilies/confused.png)
Sämtliche Anleitungen im Internet fruchten bei mir nicht, also bitte keine Links....
Danke im Voraus!