|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2004 Messages : 50 ![]() |
Bonjour,
J'ai un petit soucis avec la mise au point d'une requête UNION. Je la met en copie ci-dessous. La première partie seule renvoi 16 ligne. La deuxième partie seule en renvoie 4. La requête UNION devrait en renvoyer 20: elle n'en renvoie que 17! Si quelqu'un a une petite idée, qu'il soit remercié de m'en faire part!! Philippe SELECT Year([OPIM_DATEFINRECACQ]) AS Année, [MBDR_MONTANTRECREEL]*0.804 AS CAHT FROM OPIMMO_OPIM INNER JOIN MBDEPREC_MBDR ON OPIMMO_OPIM.OPIM_ID=MBDEPREC_MBDR.OPIM_ID WHERE (((Year([OPIM_DATEFINRECACQ])) Is Not Null) AND (([MBDR_MONTANTRECREEL]*0.804) Is Not Null) AND ((OPIMMO_OPIM.OPIM_FINRECACQOK)=True)) UNION SELECT Year([OPIM_DATEFINRECACQ]) AS Année, [VLIGN_TTCREEL]*(1-[VTVA_POURC]) AS CAHT FROM OPIMMO_OPIM INNER JOIN ((VEFAFAISTYPE_VTYP INNER JOIN VEFAFAISLIB_VLIB ON VEFAFAISTYPE_VTYP.VTYP_ID = VEFAFAISLIB_VLIB.VTYP_ID) INNER JOIN (VEFAFAISTVA_VTVA INNER JOIN VEFAFAISLIGNE_VLIGN ON VEFAFAISTVA_VTVA.VTVA_ID = VEFAFAISLIGNE_VLIGN.VTVA_ID) ON VEFAFAISLIB_VLIB.VLIB_ID = VEFAFAISLIGNE_VLIGN.VLIB_ID) ON OPIMMO_OPIM.OPIM_ID = VEFAFAISLIGNE_VLIGN.OPIM_ID WHERE (((VEFAFAISTYPE_VTYP.VTYP_TYPE)="RECETTE") AND ((OPIMMO_OPIM.OPIM_FINRECACQOK)=True)); |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : mars 2005 Messages : 1 565 ![]() |
Une requête UNION élimine les doublons dans les lignes qu'elle renvoie. Tu dois donc avoir une ligne en doublon. Pour forcer la clause UNION à conserver les doublons dans les résultats retournés, utilise UNION ALL en mode sql.
|
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2004 Messages : 50 ![]() |
Oui, merci, c'est bien ça, je viens aussi de trouver la réponse
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com