[FOSSGIS-Talk] QGIS - filtern nach doppelten Werten in einer Spalte
sk
webentry at web.de
Mi Jun 24 07:49:12 CEST 2015
Morgen Jürgen und alle mitlesenden,
bin erst heute dazu gekommen mich wieder mit diesem Thema zu beschäftigen.
Habe Deine Abfrage mal so eingegeben, es kommt dann aber eine
Fehlermeldung die lautet:
"Abfrage fehlgeschlagen
Ein Fehler trat beim Ausführen der Abfrage auf. Der Datenanbieter meldet:
FEHLER: Syntaxfehler bei >>FROM<<
LINE 1: ...public","tabelle"WHERE NOT EXISTS (SELECT FROM Layername...
^
"
Der Datenbanktabellenname ist anders als der Layername in QGIS, aber das
sollte doch wohl egal sein.
Ich frage nur, da in der Fehlermeldung nach 'NOT EXISTS' der Layername
auftaucht?
Ich habe dann auch den Layernamen anstelle des Tabellennamens
eingetragen, ändert an der Fehlermeldung
aber nichts.
Gruß Peter
Am 17.06.2015 um 14:36 schrieb Jürgen E. Fischer:
> Moin Peter,
>
> On Wed, 17. Jun 2015 at 13:44:47 +0200, sk wrote:
>> das Ergebnis mit einer Abfrage für den Atlasdruck zu verbinden. Kann ich
>> diese SQL Abfrage in den Funktionen für die Druckeinrichtung integrieren?
> Du könntest einen Filter setzen (Eintrag "Filter..." im Kontextmenüeintrag des
> Layers) - der wird nämlich als (Teile des) Where-Clause an PostgreSQL
> durchgereicht.
>
> Angenommen die Tabelle heißt "tabelle". Das "doppelte" Attribute heißt "id"
> und der Primärschlüssel von "tabelle" ist "pk":
>
> NOT EXISTS (SELECT FROM tabelle b WHERE tabelle.id=b.id AND tabelle.pk>b.pk)
>
> Dann hättest Du im Layer nur noch die Einträge aus "tabelle" zu denen es keinen
> Eintrag in "tabelle" gibt, der den gleichen id aber einen höheren
> Primärschlüssel hat. Mit anderen Worten zu jedem ID den mit den kleinsten pk.
>
>
> Jürgen
>