ich möchte nun in table Zeilen einfügen, und zwar sollen die Länder auseinander genommen werden ein neue Zeilen bilden, so dass die Tabelle am Ende so aussieht:
Und irgendwie komm ich so gar nicht voran. Geht das in Oracle überhaupt? Irgendwie doch bestimmt oder?
Hat jemand nen Tipp für mich? Ich wäre echt dankbar…
Hallo,
also mit einer Abfrage lässt sich das meines erachtens nicht bewerkstelligen.
Entweder schreibst du dir eine Stored Procedure und operierst mit zwei geschachtelten Schleifen (1 über alle Datensätze, 1 über die Länge des zweiten Feldes / 2 wenn es länger ist als 2, sofern jedes Land ein 2 Zeichen Kürzel hat) oder du führst für jedes vorkommende Land jeweils ein Query aus.
das geht schon, aber es sich schon eine Randbedingungen zu berücksichtigen:
Ländercode ist immer zweistellig
die maximale Anzahl ist bekannt
Danach geht es mit folgenden Statement weiter (aus den Bauch raus):
select name,
substr(land,1,2) as land
wert
from tab1
where length(substr(land,1,2))=2
union
select name,
substr(land,3,2) as land
wert
from tab1
where length(substr(land,3,2))=2
union
select name,
substr(land,5,2) as land
wert
from tab1
where length(substr(land,5,2))=2
Das geht natürlich nicht ohne weiteres Nachdenken in der gleichen Tabelle, aber deutlich ohne den angedeuteten Kanonen.
Hey,
danke für eure Antworten.
Ich hab jetzt nochmal drüber nachgedacht (auch mit euren Tipps) und bin zu dem Entschluss gekommen, dass ich die Daten doch vor dem Einfügen in die Datenbank entsprechend bearbeite, weil mir das alles *räusper* sehr umständlich erschien
Nun läufts und alles passt.
Danke trotzdem für eure Tipps, ich werd sie auf jeden Fall im Hinterkopf behalten, falls ich nochmal auf ein ähnliches Problem stoße.