Bonjour,

j'ai un pb avec une requête que je n'arrive pas à résoudre.
J'ai une table Courrier qui est en relation avec une table Diffusion. J'ai besoin de ressortir par service le nb de diffusions en retard par période (0 à 10j, 10 à 20j,...).

Ma requete focntione sous MySQL mais j'ai une erreur sous MSSQL
La colonne 'D.YDIF_SYSID_SERVICE' n'est pas valide dans la liste de sélection parce qu'elle n'est pas contenue dans une fonction d'agrégation ou dans la clause GROUP BY.
CI-dessous une partie de la requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
select 
 
(select count(*) 
from yfic_diffusion 
 
where ( 
 
(DATEDIFF(day,YDIF_SDTE_TRAITER_AVANT,getdate())>0 
AND DATEDIFF(day,YDIF_SDTE_TRAITER_AVANT,getdate())>=((1-1)*10) 
AND DATEDIFF(day,YDIF_SDTE_TRAITER_AVANT,getdate())<=((1)*10) ) 
 
AND D.YDIF_SYSID_SERVICE=YDIF_SYSID_SERVICE 
 
) ) as interval_1 ,
count(*) as nombre, YSER_SERVICE 
 
FROM YFIC_Courrier 
 
left outer join YFIC_service on YCOU_SYSID_SERVICE_UTIL = YSER_SYSID_SERVICE 
left outer join YFIC_DIFFUSION D on YCOU_SYSID_COURRIER=D.YDIF_SYSID_COURRIER 
 
GROUP BY YSER_SERVICE 
ORDER BY YSER_SERVICE
Si quelqu'un y voir un peu plus clair que moi

Merci d'avance

Jerome