Am Dienstag, 31. Juli 2007 14:01 schrieb Tamas Szalai:
> SELECT g.loc_id AS "ID",
> g.text_val AS "Ort"
>
> FROM geodb_textdata g,
> geodb_textdata g1,
> geodb_hierarchies gh,
> geodb_locations loc
>
> WHERE gh.loc_id = g.loc_id
> AND gh.id_lvl5 = g1.loc_id
> AND g1.loc_id = 316 /*ID des Landkreises*/
> AND g.text_type = 500100000
> AND g1.text_type = 500100000
> AND loc.loc_type = 100700000
> AND loc.loc_id = g.loc_id
> AND g.is_default_name = true
> AND g1.is_default_name = true
> AND g.valid_until >= '2007-07-31'
> AND g1.valid_until >= '2007-07-31'
> AND gh.level = 6
>
> GROUP BY g.loc_id
> ORDER BY 2
>
> Bei der letzten Abfrage (Landkreis Wernigerode) ist komischwerweise 2x
> Elbingerode mit verschiedener ID im Ergebnis. :/
Also mal kurz dazu:
1) 'GROUP BY' kenn ich so, daß alle Attribute gruppiert werden müssen (also
auch g.text_val), bis auf einen arithmetischen Operator (also
z.B.avg(g.loc_id), sonst macht das keinen Sinn, und sonst klappt das auch
nicht. Mein Postgres sieht es genauso, deshalb funktioniert diese Anfrage bei
mir nicht in dieser Form.
2) Wenn ich 'GROUP BY g.loc_id' weglasse, bekomme ich nur ein Elbingerode in
WR.
3) Elbingerode gibt es in WR und in OHA in meiner älteren DB hier. Was gibt
denn ein 'SELECT * from geodb_hierarchies where loc_id=16096 or
loc_id=16097;' bei Dir zurück?
Thomas
--
Mailingliste OpenGeoDB
Listenadresse: opengeodb-r1mDYR0DdAyzQB+pC5nmwQ@xxxxxxxxxxxxxxxx
Informationen: http://opengeodb.de
Mit freundlicher Unterstütztung von php::bar (http://phpbar.de)
|
Try Searching:
servers, voip, java, networking, microsoft ...
|
|
|
|