winnewoerp
Benutzer
- Beiträge
- 9
Hallo Datenbankmodellierungs-Experten,
ich habe folgende nicht normalisierte Daten vorliegen (inhaltlich verändertes sowie reduziertes Abbild einer tatsächlichen Aufgabe). Die PLZ-Spalten sind dabei teilweise mit Mehrfachwerten (leerzeichengetrennt) belegt.
gemeinde.csv
ortsteil.csv
Nun möchte ich daraus möglichst konsequente Tabellen generieren, bei denen es mit SQL/SQLite möglich wäre, die oben dargestellte Struktur wieder abzubilden. Idee: gemeinde, ortsteil und ortsteil_plz (plz benötige ich in diesem Fall nicht als eigene Entität). In einem ersten Umsetzungsdurchgang sieht das so aus:
Nun möchte ich "nur" noch die Information, welches die Postleitzahl des Verwaltungssitzes ist, in die Tabelle ortsteil_plz hinzufügen und dann bei der Gemeinde entfernen.
Folgende SQL-Abfrage habe ich erstellt:
Die 1 von is_plz_verwaltungssitz hätte ich nun gerne in allen passenden Zeilen der oben gezeigten dritten Tabelle in der betreffenden Spalte. Wie bekomme ich sie dahin?
Der Anfang lautet
Danke und viele Grüße
winnewoerp
ich habe folgende nicht normalisierte Daten vorliegen (inhaltlich verändertes sowie reduziertes Abbild einer tatsächlichen Aufgabe). Die PLZ-Spalten sind dabei teilweise mit Mehrfachwerten (leerzeichengetrennt) belegt.
gemeinde.csv
Code:
gemeindecode,gemeindename,plz_verwaltungssitz,weitere_plz
1001,Ahausen,25001,25002 25003
1002,Bdorf,25004,25003
1003,Cfeld,25003,
1004,Dberg,25003,
1005,Estadt,25005,25006
1006,Fheim,25007,
ortsteil.csv
Code:
ortsteilcode,gemeindecode,ortsteilname,plz
100101,1001,Klein Ahausen,25001 25002
100102,1001,Groß Ahausen,25003
100103,1001,Neuahausen,25002
100201,1002,Bdorf,25003 25004
100202,1002,Bdorfermühle,25004
100301,1003,Cfeld,25003
100401,1004,Dberg,25003
100501,1005,Altenestadt,25005 25006
100502,1005,Unterestadt,25005 25006
100503,1005,Oberestadt,25005 25006
100504,1005,Estadt-Ausbau,25006
100601,1006,Fheim,25007
100602,1006,Fheimerau,25007
Nun möchte ich daraus möglichst konsequente Tabellen generieren, bei denen es mit SQL/SQLite möglich wäre, die oben dargestellte Struktur wieder abzubilden. Idee: gemeinde, ortsteil und ortsteil_plz (plz benötige ich in diesem Fall nicht als eigene Entität). In einem ersten Umsetzungsdurchgang sieht das so aus:
Nun möchte ich "nur" noch die Information, welches die Postleitzahl des Verwaltungssitzes ist, in die Tabelle ortsteil_plz hinzufügen und dann bei der Gemeinde entfernen.
Folgende SQL-Abfrage habe ich erstellt:
Code:
SELECT
1 AS is_plz_verwaltungssitz,
g.plz_verwaltungssitz,
o.ortsteilname AS ortsteil_name
FROM ortsteil_plz o_p
INNER JOIN ortsteil o ON o_p.ortsteilcode = o.ortsteilcode
INNER JOIN gemeinde g ON o.gemeindecode = g.gemeindecode
WHERE o_p.plz = g.plz_verwaltungssitz;
Die 1 von is_plz_verwaltungssitz hätte ich nun gerne in allen passenden Zeilen der oben gezeigten dritten Tabelle in der betreffenden Spalte. Wie bekomme ich sie dahin?
Der Anfang lautet
UPDATE ortsteil_plz SET is_plz_verwaltungssitz = 1 WHERE [...]
, aber wie geht es dann weiter? Hat jemand eine Idee?Danke und viele Grüße
winnewoerp
Zuletzt bearbeitet: