Bonjour,
Je souhaite comparer un champ que je dois contrôler et un champ que je calcule.
Le champ que je calcule est trié de manière croissante (plusieurs noms de boîtiers sur un poteau).
En revanche, le champ que je dois contrôler est remplit manuellement, donc les boîtiers ne sont pas nécessairement indiqué dans le bon ordre.
Dans l'exemple ci-dessous, le gid N°1 apparaîtrait en erreur alors que les boîtiers sont bien tous indiqués.
Comment puis-je réordonner la liste à l'intérieur du champ pour que la comparaison des deux champs fonctionne ?
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT pt.gid ,pt.boitiers AS a_controler ,string_agg(bp.nom,';' ORDER BY bp.nom) AS concat from "input".poteau AS pt left join "input".boitier AS bp on ST_INTERSECTS(pt.geom,bp.geom) group by pt.gid,pt.boitiers having pt.boitiers != string_agg(bp.nom,';' ORDER by bp.nom)
Partager