Forum QGIS

Pełna wersja: zapytanie - struktura wiekowa
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam,
proszę o pomoc w sformułowaniu zapytania sql. Otóż mam bazę mieszkańców miasta z datą urodzenia i adresem. Chciałbym wyłuskać tylko mieszkańców 60+, którzy mieszkają sami w budynku. Próbowałem tworzyć zapytanie po wieku i grupowanie po adresie - ale ktoś młodszy też może tam mieszkać. Chcę wykluczyć rodziny wielopokoleniowe pod danym adresem. Nie mam na razie pomysłu jak to zrobić. Pewnie na "piechotę" się da, ale to czasochłonne. Może jakieś zapytanie wykluczające lokalizację 60+ przy jednoczesnym występowaniu 60- .
Jak macie pomysł to chętnie sprawdzę.
Dane są oczywiście z geometrią, baza spatialite.
Zrobiłem zadanie na "piechotę", czyli dwie warstwy w qgis - w uproszczeniu 60plus i 60minus. Zaznaczenie poprzez lokalizację z wykluczaniem się i jest to co chciałem. Co ciekawe warstwy musiałem zapisać w shp, bo inaczej jako baza spatialite w qgis zaznaczenie liczyło się bez efektu. Pozdrawiam
Najpierw z warstwy wybierasz tylko te budynki/adresy gdzie mieszka jedna osoba.
select adres_id from tabela group by adres_id having count(*)=1 - grupowanie po adresie i zawężenie do wyników gdzie suma wynosi 1.

Później składasz zapytanie:
select * from tabela where wiek >60 and adres_id in (select adres_id from tabela group by adres_id having count(*)=1);
pierwszy warunek zawęża osoby po wieku, a drugi zawęża adresy do tych gdzie żyje 1 osoba - czyli ta > 60
Nie dam głowy, że to na spatialite - raczej nie używam tej bazy, a nie chce mi się sprawdzać Wink