[FOSSGIS-Talk] QGIS - filtern nach doppelten Werten in einer Spalte

sk webentry at web.de
Mi Jun 17 14:53:19 CEST 2015


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.
Dieser Kontextmenüeintrag ist aber seltsamer Weise nicht bei allen 
Layern vorhanden? Ich habe hier zwei Layer
mit Polygonobjekten, beide kommen aus der PostgreSQL DB, der Stil ist 
regelbasiert und sonst nichts besonderes.
Bei dem einen Layer ist im Kontextmenüeintrag der Eintrag "Filter" im 
anderen nicht??
Das einzige was bei diesem Layer anders ist, er dient als 
Drucksteuerungslayer für den Atlasdruck.

>
> 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
>