XMLTABLE - Répétition de données
:coucou: Forum,
J'espère que tout va bien pour vous tous !
J'ai cette requête qui fonctionne bien - mais uniquement pour certains cas. Elle me récupère un Scalescore qui est la somme des Column.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| SELECT
xt.*
,im.file_number AS FileN
,per.inss AS niss
,im.OVERALL_START_DATE
,im.MESSAGE_ID
FROM
inbox_messages im
INNER JOIN persons per ON per.person_id = im.person_id
,XMLTABLE
('*'
PASSING XMLTYPE.CREATEXML(im.CONTENT)
COLUMNS
ScaleScore NUMBER PATH '//ScaleScore'
,Column1 NUMBER PATH '//Column1'
,Column2 NUMBER PATH '//Column2'
,Column3 NUMBER PATH '//Column3'
--,BeginDate DATE PATH '//BeginDate'
--,EndDate DATE PATH '//EndDate'
) AS xt
WHERE im.TYPE = 'T002'
AND im.overall_start_date BETWEEN '01/06/2020' AND '30/11/2020'
ORDER BY niss
; |
Mon soucis vient du fait que certains XML contiennent deux décisions et donc deux ScaleScore. Du coup, j'ai un message me disant qu'il y a des données multiples alors qu'il veut de l'unique. Pouvez-vous me dire comment je dois procéder pour résoudre ce problème ?
J'ai regardé sur le net et j'ai vu toute sorte de choses même avec des boucles mais je n'y arrive pas.
NB : pour info, mon XML est dans un colonne CLOB.