[opengeodb] Alle Städte und/oder Landkreise in einem Bundesland?

Jan-Simon Winkelmann winkelmann at blue-metallic.de
Mit Mar 26 21:20:08 CET 2008


Hallo Stephan,

ich glaube ich habe etwas geschlafen als ich gepostet hab.
Ich meinte natürlich ich möchte alle Landkreise in einem angegebenen 
Bundesland ;)
Entschuldige bitte die Verwirrung.

gruß
Jan

Stephan S schrieb:
>> Hallo,
>>
>> ich hab jetzt mal folgendes gebaut:
>>
>> SELECT
>>    tp.text_val AS t,
>>    n.text_val AS n, n.loc_id
>> FROM geodb_textdata AS gtv
>> INNER JOIN geodb_locations AS l ON gtv.loc_id=l.loc_id
>> INNER JOIN geodb_textdata AS tp ON l.loc_id=tp.loc_id
>> INNER JOIN geodb_textdata AS n ON l.loc_id=n.loc_id
>> WHERE
>>    (l.loc_type=100500000)
>>    AND (n.text_type=500100000)
>>    AND (gtv.text_type=400100000)
>>    AND (gtv.text_val=108)
>>    AND (n.text_locale='de')
>>
>>
>> sollte mir eigentlich alle Bundesländer in Deutschland ausgeben.
>> Merkwürdigerweise bekomme ich aber viele Sachen doppelt, finde aber 
>> den Fehler nicht.
>> Jemand eine Ahnung?
>>     
>
> Du suchst hier alles was Teil von (gtv.text_type=400100000) der loc_id
> 108 ist (100500000 ist übrigens Landkreis, nicht Bundesland). 108 ist
> die loc_id vom Bundesland Brandenburg. Um alle Bundesländer zu erhalten
> fragst Du die geodb_locations nach Einträgen mit loc_type 100300000:
>
> SELECT *
> FROM geodb_locations
> WHERE loc_type = 100300000
>
> Das liefert 16 Einträge. Willst Du die Namen und die loc_id dazu:
>
> SELECT locations.loc_id, name.text_val
> FROM geodb_locations locations
> LEFT JOIN geodb_textdata name ON name.loc_id = locations.loc_id
> WHERE loc_type = 100300000 /* Typ für Bundesland */
>   AND name.text_type = 500100000 /* Typ für Name */
>   Falls Du mehrer Staaten importiert hast: Die Einschränkung auf "Teil 
> von"
> müsste in diesem Fall dann für den Staat Deutschland gesetzt werden 
> (loc_id
> 105).
>
> Eine Anmerkung noch: für die Analyse deiner SQL-Statements ist es für
> andere hilfreich, wenn die Aliase sprechend sind. Du weisst sicherlich
> was Du dir bei tp gedacht hast, ich leider nicht und so muss ich erst
> versuchen aus den Bedingungen zu erschließen, was Du möchtest.
>
> Schönen Gruß
> Stephan
>
>