[Talk-it] OT: aiutino con il SQL

Francesco Pelullo f.pelullo a gmail.com
Mer 26 Feb 2014 13:59:14 UTC


Ciao a tutti e scusate per l'OT.

Premessa: OSM non c'entra, posto qui perchè sono sicuro che sapreste
aiutarmi.

Ho una tabella, ogni riga è un tratto di strada.

Le strade sono raggruppate con un campo ID, che osm-icamente potrebbe
essere considerato una relazione.
Ogni tratto di strada ha un campo "PAVIM_STRA" che indica il tipo di
pavimentazione (è un intero, 1=asfalto, 2=porfido etc).
Puo' quindi succedere che la stessa relazione (Via Garibaldi) contenga due
tratti di strada dove la pavimentazione è diversa.

Adesso sto creando una view raggruppando tutto per ID (voglio i totali per
ogni relazione).
Vorrei per il campo "PAVIM_STRA" il valore che corrisponde al tratto di
strada più lungo, quindi più rappresentativo:



CREATE VIEW "TABELLA_ESPORTAZIONE" AS
SELECT
"ID" AS "ID",
"NOME" AS "NOME",
Sum(ST_Length(ST_LineMerge(geometry))) AS "LUNGH_STRA",

(SELECT "PAVIM_STRA" FROM "ASSI_STRADALI" AS a
    WHERE a.ROWID IN (
                SELECT ROWID FROM SpatialIndex WHERE
                     (Max(ST_Length(geometry))))
AS "PAVIM_STRA",

FROM "ASSI_STRADALI"
GROUP BY "ID";

L'istruzione SELECT concatenata è di pura fantasia.

Help!

:-)

Ciao
/niubii/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/talk-it/attachments/20140226/e296c74d/attachment.html>


Maggiori informazioni sulla lista Talk-it