Kurze Postgres /SQL Frage
-
Kurze Postgres /SQL Frage · SunCobalt (Gast) · 04.05.2011 16:14 · [flux]
Hallo,
funktioniert das so?
update osm_line set namede=name where namede is null;
update osm_point set namede=name where namede is null;
update osm_polygon set namede=name where namede is null;
update osm_roads set namede=name where namede is null;namede ist die Spalte, in die ich den name:de Tag importiert habe (default.style ist um den name:de Wert egänzt). Im Postprocessing wird die Spalte name:de in namede umbenannt da ich sonst Probleme mit dem ":" habe.
Als Ergebnis soll dann, wenn es in OSM keinen Wert für name:de= gibt, der von name= in name:de (namede) reinkopiert werden.- Re: Kurze Postgres /SQL Frage · wambacher (Gast) · 04.05.2011 16:25 · [flux]
SunCobalt wrote:
Hallo,
funktioniert das so?
update osm_line set namede=name where namede is null;
update osm_point set namede=name where namede is null;
update osm_polygon set namede=name where namede is null;
update osm_roads set namede=name where namede is null;sollte klppen - zumindest hab ich nix schlimmes auf den ersten blick gesehen.
... Im Postprocessing wird die Spalte name:de in namede umbenannt da ich sonst Probleme mit dem ":" habe.
Was denn für Probleme? in der query anstelle von name:de einfach "name:de" schreiben und dann sollte es gehen .
also: update osm_line set "name:de"=name where "name:de" is null;
Gruss
walter" = shift 2 - nicht 2mal ' !!
- Re: Kurze Postgres /SQL Frage · SunCobalt (Gast) · 04.05.2011 16:40 · [flux]
Danke Walter. : ist ein reserviertes Zeichen in Mapserver und das LABELITEM "namede" steht schon in Anführungszeichen, also in der Query gehts, dann habe ich name:de als Variable, die ich nicht auswerten kann. Habe mehrere Sachen probiert, aber es ging nicht. Ist nicht weiter tragisch, das umbenennen geht problemlos & fix.
Eine andere Sache ging mir eben noch durch den Kopf. Wenn name=null ist und auch namede=null, was ja für viele Objekte der Fall ist, kopiert der ja bei allen Objekten die null rüber.
Kann man das so erweitern?update osm_line set namede=name where namede is null and name is not null;
- Re: Kurze Postgres /SQL Frage · wambacher (Gast) · 04.05.2011 17:00 · [flux]
SunCobalt wrote:
Danke Walter. : ist ein reserviertes Zeichen in Mapserver und das LABELITEM "namede" steht schon in Anführungszeichen, also in der Query gehts, dann habe ich name:de als Variable, die ich nicht auswerten kann. Habe mehrere Sachen probiert, aber es ging nicht. Ist nicht weiter tragisch, das umbenennen geht problemlos & fix.
na ja, rendern ist -noch- nicht mein Bier; ich hab die Frage halt auf reines SQL bezogen.
Dass Mapserver mit den Tabellennamen vom osm2pgsql-schema nicht klarkommt, erscheint mit etwas "komisch". Aber den kenn ich halt nicht. Nur etwas mapnik.Eine andere Sache ging mir eben noch durch den Kopf. Wenn name=null ist und auch namede=null, was ja für viele Objekte der Fall ist, kopiert der ja bei allen Objekten die null rüber.
Kann man das so erweitern?update osm_line set namede=name where namede is null and name is not null;
jo, sollte so sein.
bei komplexeren logschen abfragen - z.b mit OR- sollte man sicherheitshalber Klammern setzen, sonst gibt es ganz fiese Ergebnisse. - Re: Kurze Postgres /SQL Frage · ajoessen (Gast) · 05.05.2011 07:04 · [flux]
wambacher wrote:
na ja, rendern ist -noch- nicht mein Bier; ich hab die Frage halt auf reines SQL bezogen.
Dass Mapserver mit den Tabellennamen vom osm2pgsql-schema nicht klarkommt, erscheint mit etwas "komisch".Die Spalte "name:de" gehört ja auch nicht zum Standardstyle von osm2pgsql. Wenn SunCobalt da was hinzufügt, muß er schon selber auf die Akzeptanz bei der Rendersoftware achten.
gruß,
ajoessen - Re: Kurze Postgres /SQL Frage · wambacher (Gast) · 05.05.2011 08:28 · [flux]
ajoessen wrote:
wambacher wrote:
na ja, rendern ist -noch- nicht mein Bier; ich hab die Frage halt auf reines SQL bezogen.
Dass Mapserver mit den Tabellennamen vom osm2pgsql-schema nicht klarkommt, erscheint mit etwas "komisch".Die Spalte "name:de" gehört ja auch nicht zum Standardstyle von osm2pgsql. Wenn SunCobalt da was hinzufügt, muß er schon selber auf die Akzeptanz bei der Rendersoftware achten.
gruß,
ajoessenDanke,
alles klar
Gruss
Walter