SQL: Felder werden nicht angezeigt

geosurfer8

Neuer Benutzer
Beiträge
2
Hallo,
bitte um etwas Hilfe.
2 Tabellen (vereinfacht):
TblOrt mit den Feldern LKZ, PLZ, OrtName
TblRouter mit den Felder LKZ, VonPLZ, BisPLZ

SQL:

SELECT distinct o.plz
FROM tblort o
WHERE
o.lkz = 'D'
and
(EXISTS
(SELECT r.vonplz, r.bisplz
FROM tblrouter r
WHERE o.plz BETWEEN r.vonplz and r.bisplz
and r.lkz = o.lkz
)
)

Ergebnis: o.plz (Postleitzahl) wird richtig angezeigt
r.vonplz wird nicht angezeigt
r.bisplz wird nicht angezeigt

Beispiel: PLZ aus tlblort
D 10115 Berlin

PLZ-Bereiche aus tblrouter
D 10000 (bis) 10100
D 10100 (bis) 10200
D 09000 (bis) 15000

2 Ergebnisse sollten kommen:

10115 10100 10200
10115 09000 15000

Ergebnis stimmt, es kommt aber nur:
10115
10115

Anzeige von vonplz und bisplz fehlen.

Habe schon zig andere Varianten probiert.
Hat da jemand eine gute Idee?

Gruss geosurfer8
 
Werbung:

Charly

Datenbank-Guru
Beiträge
306
Hallo geosurfer8,

versuch es mal hiermit:

Code:
SELECT o.plz, r.vonplz, r.bisplz
FROM tblort AS O
JOIN tblrouter AS R ON o.plz>= r.vonplz AND o.plz<=r.bisplz
WHERE r.lkz=o.lkz

Gruß Charly
 
Werbung:

geosurfer8

Neuer Benutzer
Beiträge
2
Hallo Charly,

den Join mit >= und <= hatte ich so noch nicht gekannt, nur halt = ,
hatte deshalb mit dem Exists rumprobiert.
Danke, gewünschte Ergebnis war dann OK.

Gruss geosurfer8
 
Oben