Bonjour à tous,
Dans le cadre de mon stage, je travail avec les données Majic d'une commune.
Ma base de données est sous Postgresql, et j'ai un soucis lors de la création d'un nouveau champ.
Exemple:
Je dois effectuer une sélection de la surface maximale de mes subdivisions fiscales (dcntsfd) par parcelle(id_par) avec le type d'occupation du sol(cgrnumd) dominant correspondant. Je cherche a crée ce champ .(cgrnumd)
Pour cela je dispose :
La table des subdivisions fiscales (suf)
Plusieurs variables:
Dcntsf, surface des subdivisions fiscales
Dcntsfd, surface dominante des subdivisions fiscales
Id_par, identifiant de parcelle
Id_suf, identifiant de la subdivision fiscale
Cgrnum, type d'occupation du sol sur la subdivision fiscale
Cgrnumd, a créer type d'occupation dominant ( sol, agriculture, terrains à bâtir...)
Important : Une parcelle peux avoir plusieurs subdivisions fiscales.
Requête testée :
Avec cette requête, j'arrive à avoir la surface de la suf la plus grande présent sur la parcelle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT distinct (id_par) id_par,MAX(dcntsf) AS dcntsfd from suf GROUP BY id_par ORDER BY id_par;
Maintenant je bloque sur comment obtenir Cgrnumd, c'est à dire Cgrnum associé à la subdivision la plus grande.
Ma tentavive :
Je cherche à avoir Cgrnumd, en incluant Cgrnum dans le group by, j’obtiens toutes les subdivisions par parcelle et non pas seulement la subdivision la plus grande avec son type d’occupation correspondant.
Je ne sais pas comment faire, merci d'avance si vous pouvez m'aiguiller.
Bonne journée à tous.
Julien
Cordialement
Partager