MySQL
Oggy
- datenbank
habe eine Datenbank mit plz(aber nicht vollständig). wenn ich jetzt nach einer plz suche und er sie nicht findet soll er die plz mit der kleinsten differenz ausgeben, wer hat eine idee?
meine abfrage bisher lautet:
SELECT DISTINCT bundesland FROM plz_gem, bund WHERE plz=".$_POST['plz']." AND land = bid
in plz_gem stehen die plz's mit einer kennziffer für das bundesland und in bund stehen die bundesländer zu den kennziffern...
danke im voraus...
hi,
habe eine Datenbank mit plz(aber nicht vollständig). wenn ich jetzt nach einer plz suche und er sie nicht findet soll er die plz mit der kleinsten differenz ausgeben, wer hat eine idee?
du könntest die differenz zwischen deiner gesuchten PLZ und der PLZ, die im datensatz steht, betrachten.
natürlich noch mit ABS() in eine positive zahl umwandeln.
jetzt musst du ausprobieren, ob du auf eine solche, in der query berechnete spalte noch aggregatfunktionen wie MIN() anwenden kannst.
wenn nicht, dann halt nach dieser differenz absteigend sortieren lassen, und mit LIMIT die ergebnismenge auf einen datensatz beschränken.
so in etwa ...
gruss,
wahsaga
moin,
war gestern wohl schon zu müde um auf die einfachsten sachen zu kommen, trotzdem danke für die hilfe. jetzt sieht die abfrage so aus...
select min(abs(plz-84000)) as plz1,bland from plz_gem,bund where bid=land group by bland order by plz1 limit 0,1