Bonjour,
j'utilise des requêtes JPQL avec HIBERNATE (JPA)
J'ai une clause OR dans ma requête qui ne me donne pas de bons résultats
La requête suivante
SELECT aud.oID FROM eu.eclinica.cdisc.odm.ODMAuditRecord aud WHERE (aud.subjectData is not null and aud.locationRef.location.oID = 1063 and aud.subjectData.clinicalData.study.oID = 1069 and aud.operation = 'INSERT')
me donne une seule ligne
1-10382
La requête suivante
SELECT aud.oID FROM eu.eclinica.cdisc.odm.ODMAuditRecord aud WHERE (aud.studyForDeleted.oID= 1069 and aud.locationRef.location.oID= 1063)
me donne 2 lignes
1-10866
2-11370
Quand j'utilise les 2 conditions avec une clause OR, j'obtiens seulement 1 ligne
SELECT aud.oID FROM eu.eclinica.cdisc.odm.ODMAuditRecord aud WHERE (aud.subjectData is not null and aud.locationRef.location.oID = 1063 and aud.subjectData.clinicalData.study.oID = 1069 and aud.operation = 'INSERT') OR (aud.studyForDeleted.oID= 1069 and aud.locationRef.location.oID= 1063)
Le résultat est
1-10382
J'ai enlevé une partie de la première sous requête
and aud.subjectData.clinicalData.study.oID = 1069
Et curieusement j'obtiens mes 3 lignes
1-10866
2-11370
3-10382
Je ne vois pas du tout pourquoi cette expression annule entièrement la deuxième sous requête
Merci d'avance pour vos réponses
Partager