Aloha

Je souhaite connaître la liste de mes arrêts de bus proche d'alignements d'arbres et/ou implantés dans le périmètre de protection des bâtiments de France.
Je peux donc établir ma requête ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
SELECT TP.GID,
       TP.CODE_POT
 
       FROM TP_ARRET TP, PO_RALAR AL
 WHERE SDO_WITHIN_DISTANCE (TP.GEOMETRY, AL.GEOMETRY, 'distance = 10') =
          'TRUE'
UNION 
SELECT TP.GID,
       TP.CODE_POT
 
  FROM TP_ARRET TP, PP_RMHIP HIS
 WHERE SDO_RELATE (TP.GEOMETRY, HIS.GEOMETRY, 'mask=inside') = 'TRUE';
Oui mais ce n'est pas uffisant parce que j'aimerai savoir si l'arrêt se trouve à proximité de l'alignement, dans le périmètre ou les deux. Bref j'aimerai avoir une colonne 'ALIGNEMENT' avec O/N et une colonne 'HISTO' avec O/N.

J'ai essayé quelque chose du genre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
SELECT TP.GID,
       TP.CODE_POT,
       'OUI' AS ALIGN, NULL AS MHIS
       FROM A_REIMS.TP_ARRET TP, A_REIMS.PO_RALAR AL
 WHERE SDO_WITHIN_DISTANCE (TP.GEOMETRY, AL.GEOMETRY, 'distance = 10') =
          'TRUE'
UNION 
SELECT TP.GID,
       TP.CODE_POT,
       NULL, 'OUI'
  FROM A_REIMS.TP_ARRET TP, PP_RMHIP HIS
 WHERE SDO_RELATE (TP.GEOMETRY, HIS.GEOMETRY, 'mask=inside') = 'TRUE';
Mais les deux colonnes renvoyant des valeurs uniques pour chacuns des enregistrements des requêtes select je n'ai au final pas l'union au sens ou je l'aimerai.

Comment faire ?

Merci d'avance,