Pages: 1
- Sujet précédent - ORACLE/SQL : création d'une vue des parcelles bâties avec adresse - Sujet suivant
#1 Thu 28 October 2010 16:41
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
ORACLE/SQL : création d'une vue des parcelles bâties avec adresse
Aloha,
Voilà mon besoin, je souhaite rapatrier de mes tables MJ2_BATI les adresses des bâtiments des parcelles bâties. Seulement, dans le cas d'une parcelle ayant X bâtiments, je peux avoir au maximum X adresses. Ce qui ce traduit par X lignes pour la même parcelle dans ma vue.
Quelqu'un a-t'il une idée pour retrouver par parcelle un champ regroupant les différentes adresses ? J'ai bien pensé à un curseur (CURSOR), mais cela ne fonctionne pas pour définir une vue.
ex :
Code:
SELECT GEOMETRY, PCI_PARC.IDENT, P.CCOCOM, P."Section cadastrale", P."Numéro de parcelle", P."surface parcelle m²", P."Adresse" FROM PCI_PARC INNER JOIN (SELECT /*ORDERED*/ MJ2_PARCEL.CCOCOM, MJ2_PARCEL.CCOSEC AS "Section cadastrale", MJ2_PARCEL.DNUPLA AS "Numéro de parcelle", MJ2_PARCEL.SURFACE AS "surface parcelle m²", TRIM (LEADING 0 FROM MJ2_BATI.DNVOIRI) || ', ' || MJ2_BATI.DVOILIB AS "Adresse" FROM MJ2_PARCEL INNER JOIN MJ2_BATI ON (MJ2_BATI.CCOCOM = MJ2_PARCEL.CCOCOM) AND (MJ2_BATI.CCOSEC = MJ2_PARCEL.CCOSEC) AND (MJ2_BATI.DNUPLA = MJ2_PARCEL.DNUPLA) WHERE MJ2_PARCEL.GPARBAT = '1' GROUP BY MJ2_PARCEL.CCOCOM, MJ2_PARCEL.CCOSEC, MJ2_PARCEL.DNUPLA, MJ2_PARCEL.SURFACE, TRIM (LEADING 0 FROM MJ2_BATI.DNVOIRI) || ', ' || MJ2_BATI.DVOILIB) P ON (SUBSTR (PCI_PARC.IDENT, 0, 3) = P.CCOCOM) AND (SUBSTR (PCI_PARC.IDENT, 7, 2) = P."Section cadastrale") AND (SUBSTR (PCI_PARC.IDENT, 9, 4) = P."Numéro de parcelle") me renvoie pour la parcelle CO 0001, 2 adresses différentes.
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#2 Fri 29 October 2010 11:53
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1549
Re: ORACLE/SQL : création d'une vue des parcelles bâties avec adresse
Aloha,
Voilà mon besoin, je souhaite rapatrier de mes tables MJ2_BATI les adresses des bâtiments des parcelles bâties. Seulement, dans le cas d'une parcelle ayant X bâtiments, je peux avoir au maximum X adresses. Ce qui ce traduit par X lignes pour la même parcelle dans ma vue.
Quelqu'un a-t'il une idée pour retrouver par parcelle un champ regroupant les différentes adresses ? J'ai bien pensé à un curseur (CURSOR), mais cela ne fonctionne pas pour définir une vue.
ex :Code:
SELECT GEOMETRY, PCI_PARC.IDENT, P.CCOCOM, P."Section cadastrale", P."Numéro de parcelle", P."surface parcelle m²", P."Adresse" FROM PCI_PARC INNER JOIN (SELECT /*ORDERED*/ MJ2_PARCEL.CCOCOM, MJ2_PARCEL.CCOSEC AS "Section cadastrale", MJ2_PARCEL.DNUPLA AS "Numéro de parcelle", MJ2_PARCEL.SURFACE AS "surface parcelle m²", TRIM (LEADING 0 FROM MJ2_BATI.DNVOIRI) || ', ' || MJ2_BATI.DVOILIB AS "Adresse" FROM MJ2_PARCEL INNER JOIN MJ2_BATI ON (MJ2_BATI.CCOCOM = MJ2_PARCEL.CCOCOM) AND (MJ2_BATI.CCOSEC = MJ2_PARCEL.CCOSEC) AND (MJ2_BATI.DNUPLA = MJ2_PARCEL.DNUPLA) WHERE MJ2_PARCEL.GPARBAT = '1' GROUP BY MJ2_PARCEL.CCOCOM, MJ2_PARCEL.CCOSEC, MJ2_PARCEL.DNUPLA, MJ2_PARCEL.SURFACE, TRIM (LEADING 0 FROM MJ2_BATI.DNVOIRI) || ', ' || MJ2_BATI.DVOILIB) P ON (SUBSTR (PCI_PARC.IDENT, 0, 3) = P.CCOCOM) AND (SUBSTR (PCI_PARC.IDENT, 7, 2) = P."Section cadastrale") AND (SUBSTR (PCI_PARC.IDENT, 9, 4) = P."Numéro de parcelle") me renvoie pour la parcelle CO 0001, 2 adresses différentes.
Bonjour,
Passer par un fonction agrégée, type SUM(varchar), qui regrouperait dans un record plusieurs valeurs ?
(tres rapidement, une recherche gougle donne: http://www.oracle-base.com/articles/mis … iques.php)
Nous utilisons un mecanisme similaire avec PG, pour afficher des rapports ou une colonne excel contient des valeurs concaténées (toutes les communes rattachées a un site d'observation, par ex)
Nicolas
Hors ligne
Pages: 1
- Sujet précédent - ORACLE/SQL : création d'une vue des parcelles bâties avec adresse - Sujet suivant