Comportement de la fonction MINUS
Bonjour,
J'essaye d'identifier certains enregistrements avec la fonction SQL MINUS, mais selon les données que je compare je n'ai pas le même nombre de lignes retournées. :piou:
Je précise, voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
--select gpa.adv_id
select *
from groupe_adv gpa
,(select * from groupe_element where groupe = 'TREQ129') gpe
where gpa.element = gpe.id
and gpa.date_debut = (select MAX(gpad.date_debut) from groupe_adv gpad, groupe_element gpel
where gpad.adv_id = gpa.adv_id and gpel.groupe = gpe.groupe and gpel.id = gpad.element)
minus
--select gpa.adv_id
select *
from groupe_adv gpa
,(select * from groupe_element where groupe = 'TREQ129') gpe
where gpa.element = gpe.id
and (gpa.id, gpa.date_debut) = (select MAX(gpad.id), MAX(gpad.date_debut) from groupe_adv gpad, groupe_element gpel
where gpad.adv_id = gpa.adv_id and gpel.groupe = gpe.groupe and gpel.id = gpad.element) |
Lorsque j'utilise select *, je récupère 470 lignes, mais si j'utilise select gpa.adv_id, je n'en ai plus que 390 :lefou:
Donc si quelqu'un pouvait m'expliquer ce comportement cela m'aiderai beaucoup, parce que là, je ne sais pas quoi penser des mes résultats...
Merci d'avance