Hi,
Jetzt möchte ich mir aber eine Liste von mehreren Einträgen ausgeben lassen. Hier komme ich nicht weiter. Eine Anfrage habe ich probiert, diese funktioniert auch, aber sie braucht aufgrund der hohen Anzahl an Datensätzen in der 'geodata' sehr lange (>30sek für 2 User):
[code lang=sql]SELECT user.*, geodata.x, geodata.y, geodata.z
FROM user
LEFT JOIN geodata ON geodata.plz = (SELECT plz FROM geodata WHERE plz>=user.plz LIMIT 0,1)
wäre es im inneren Select nicht günstiger, mit min zu arbeiten?
SELECT MIN(plz) FROM geodata WHERE plz >= user.plz
Abgesehen davon halte ich das Verfahren, einfach die nächsthöhere Postleitzahl zu benutzen, für fragwürdig.
Beispiel:
soweit ich rausfinden konnte, ist 79874 Breitnau/Schwarzwald die höchste Normal-PLZ (Normal = Nicht-Großkunde, Nicht-Postfach, ...).
Die nächsthöhere Normal-PLZ ist dann irgendwas aus dem 80er Bereich - also München. Entfernung über 250km.
Und spätestens beim 99er Bereich scheitert das Verfahren dann am Vorhandensein höherer PLZ ...
cu,
Andreas
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.