Hallo,
ich komme bei einer Problemlösung nicht weiter.
Vielleicht hat jemand eine Idee...
Ich möchte aus einer Adressdatenbank (MS SQL 2000) eine Liste generieren, die alle Adressen im Stadtteil angibt. Die Liste soll so aussehen:
Stadtteil | Straßenname | Hausnummer von | Hausnummer bis
oder so:
STT | Straße | HNR von | HNRZ von | HNR bis | HNRZ bis
Bis zu einem bestimmten Punkt komme ich, indem ich je das Minimum und das Maximum der Hausnummern pro Straße und Stadtteil bilde.
Das Problem besteht allerdings darin, dass neben der Hausnummer auch der Hausnummernzusatz (z.B. b bei 15b)wichtig ist. In der DB sind HNR und HNRZ in getrennten Spalten gespeichert. Meine Idee die Spalten zu verbinden und dann je Minimum und Maximum für jede Straße zu bilden, scheitert an der Sortierung (er sortiert 9, 10, 11 vor 11a, 9a ein).
Hier mein erster SQL-Befehlsentwurf:
Select TOP 2000 STT as Stadtteil,
STR_STRS as Straßenname,
min(HNR) as 'HNR von',
max(HNR) as 'HNR bis'
from TBL_STR
where str_hnr is not null
group by STT, STR_STRS
order by STT, STR_STRS
Wie bekomme ich nun den Hausnummerzusatz mit dazu?
In der Basistabelle (TBL_STR) besteht folgender Aufbau:
STT | STR_STRS | STR_HNR | STR_HNRZ
ich komme bei einer Problemlösung nicht weiter.
Vielleicht hat jemand eine Idee...
Ich möchte aus einer Adressdatenbank (MS SQL 2000) eine Liste generieren, die alle Adressen im Stadtteil angibt. Die Liste soll so aussehen:
Stadtteil | Straßenname | Hausnummer von | Hausnummer bis
oder so:
STT | Straße | HNR von | HNRZ von | HNR bis | HNRZ bis
Bis zu einem bestimmten Punkt komme ich, indem ich je das Minimum und das Maximum der Hausnummern pro Straße und Stadtteil bilde.
Das Problem besteht allerdings darin, dass neben der Hausnummer auch der Hausnummernzusatz (z.B. b bei 15b)wichtig ist. In der DB sind HNR und HNRZ in getrennten Spalten gespeichert. Meine Idee die Spalten zu verbinden und dann je Minimum und Maximum für jede Straße zu bilden, scheitert an der Sortierung (er sortiert 9, 10, 11 vor 11a, 9a ein).
Hier mein erster SQL-Befehlsentwurf:
Select TOP 2000 STT as Stadtteil,
STR_STRS as Straßenname,
min(HNR) as 'HNR von',
max(HNR) as 'HNR bis'
from TBL_STR
where str_hnr is not null
group by STT, STR_STRS
order by STT, STR_STRS
Wie bekomme ich nun den Hausnummerzusatz mit dazu?
In der Basistabelle (TBL_STR) besteht folgender Aufbau:
STT | STR_STRS | STR_HNR | STR_HNRZ