Requete SQL sous SQLserver : ca marche pas ... RESOLU !!!!

Requete SQL sous SQLserver : ca marche pas ... RESOLU !!!! - SQL/NoSQL - Programmation

Marsh Posté le 20-05-2003 à 11:53:25    

Bonjour  
voila mon pb:  
Je n'arrive pas a ecrire le requete de mes reves
 
J'ai une table UF avec comme identifiant "nufmuf"
une table colis avec comme identifiant "nucl" et un champ nufcl comme clé étrangère représentant un UF (Unité fonctionnelle)
 
NUCL         NUFCL  NUCOCL  
------------ ------ ------  
107          1127   534974
108          1127   534974
109          1127   534974
110          3502   534974
111          5001   536771
112          5001   536771
113          5201   536467
114          5201   536467
115          1127   534397
116          1127   534397
117          4212   535903
 
 
 
NUFMUF SERVUF               SITEUF                
------ -------------------- --------------------  
1127   Bat Polyvalent 1er E CAREMEAU POL
3502   Bat Polyvalent 1er E CAREMEAU POL
5001   SERV:CONTENTIEUX ASS 21
0004   Bat Polyvalent 1er E CAREMEAU POL
0006   SERV:DIR ADM LS CHAR 23
0008   SERV:DIR ADM HEB PA  23
0009   SERV:DIR ADM PSY CHA 22
 
Voila ma requete :
je souhaite récupérer les sites et les service qui ont au moins un UF possédant un colis ainsi que le nombre de colis pour le quel le champ NUCOCL  est null
 
select  
 uf.SITEUF,  
 uf.SERVUF,  
 count(colis_2.nucl) as NBPR
from  
 COLIS
 INNER JOIN UF ON uf.nufmuf=colis.nufcl  
 RIGHT OUTER JOIN COLIS as colis_2 ON colis.nucl=colis_2.nucl  
where  
 colis.etatcl = 'A'
 and colis_2.nucocl is null  
group by  
 uf.siteuf,  
 uf.servuf
 
Je n'obtiens aucun résultat (logique car "colis_2.nucocl is null  
" m'en empeche)
 
Une idéé ???
des eclaircissements ?
 
merci
 
 
 
 
 
 
Voila la reponse :
select  
 uf1.SITEUF,  
 uf1.SERVUF,  
 (select count(*) from colis c2 inner join uf uf2 on uf2.nufmuf=c2.nufcl where c2.etatcl='A' and uf2.siteuf=uf1.siteuf and uf2.servuf=uf1.servuf and c2.nucocl is not null) as NBED,  
 from  
 COLIS c1
 INNER JOIN UF uf1 ON uf1.nufmuf=c1.nufcl  
group by  
 uf1.siteuf,  
 uf1.servuf


Message édité par mario51 le 20-05-2003 à 12:15:55
Reply

Marsh Posté le 20-05-2003 à 11:53:25   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed