Danke an Euch alle, die sich mit mir den Kopf zerbrochen haben und für die, die eine ähnliche Lösung suchen.
Meine Lösung sieht nun folgendermaßen aus:
Ich habe beschlossen die gesamte OpenGeoDB via Dump als eigene
DB in mein
mySQL zu nehmen. Mein select, um den Ort via PLZ zu suchen sieht folgendermaßen aus:
SQL-Code:
SELECT Ort.text_val
FROM opengeodb.geodb_textdata PLZ
JOIN opengeodb.geodb_locations LPLZ
ON (PLZ.loc_id = LPLZ.loc_id)
JOIN opengeodb.geodb_hierarchies HPLZ
ON (PLZ.loc_id = HPLZ.loc_id)
JOIN opengeodb.geodb_textdata Ort
ON (PLZ.loc_id = Ort.loc_id)
JOIN opengeodb.geodb_textdata Land
ON (HPLZ.id_lvl2 = Land.loc_id)
WHERE PLZ.text_val = '<gesuchte PLZ>'
AND Land.text_val = '<gesuchte Länderkennung>' // D(Deutschland), A(Österreich), CH(Schweiz), B(Belgien), FL(Lichtenstein)
AND Ort.text_locale = 'de' // deutscher Name des Ortes
AND PLZ.text_type = 500300000 // 500300000=PLZ
AND LPLZ.loc_type = 100600000 // 100600000=Politische Gliederung (weil ich die ganzen Teilorte nicht haben mag) ansonsten
// 100800000=Postleitzahlgebiet mit allen Teilorten
AND Ort.text_type = 500100000 // 500100000=Ortsname
AND Land.text_type = 500500000 // 500500000=Länderkennung
ORDER BY Ort.text_val;