Bonjour, voici la requête que j'essaie de passer et qui ne fonctionne pas, j'aimerais avoir de l'aide parce que je ne parviens pas à comprendre d'ou vient le problème..


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
SELECT 
  YEAR(VM.DATEPRISEVENTE) AS ANNEE, 
  MONTH(VM.DATEPRISEVENTE) AS MOIS, 
  SUM(VP.PRIXVENTE) AS PRIXVENTE, 
 
FROM TI_VENTEM VM WITH(NOLOCK)  INNER JOIN TI_VENTEP VP WITH(NOLOCK) ON VP.VENTEUID = VM.VENTEUID  
INNER JOIN TM_CONNAISSANCE CON WITH(NOLOCK) ON VM.CLIENTUID=CON.MEMBREUID  
WHERE  
  VM.DATEPRISEVENTE >= '09/01/2008 00:00:00'  
  AND  VM.DATEPRISEVENTE < '09/01/2009 00:00:00' 
  AND CON.MARCHEUID = (SELECT TOP 1 CON.MARCHEUID FROM TM_CONNAISSANCE CO WHERE CO.MEMBREUID=VM.CLIENTUID ORDER BY CO.ANNEE DESC)  
 
GROUP BY YEAR(VM.DATEPRISEVENTE), MONTH(VM.DATEPRISEVENTE)
La partie de la requête qui pose problème est celle-ci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
AND CON.MARCHEUID = (SELECT TOP 1 CON.MARCHEUID FROM TM_CONNAISSANCE CO WHERE CO.MEMBREUID=VM.CLIENTUID ORDER BY CO.ANNEE DESC)
Si je met directement MARCHEUID='RefDuMarcheUid' alors ça marche
Mais j'ai l'impression que le VM.CLIENTUID dans le SELECT à l'intérieur du SELECT ne passe, il ne récupère pas le VM.CLIENTUID courant de la requête "mère"

Savez-vous comment je peux faire ?