[Access] Problème de SQL

Problème de SQL [Access] - SQL/NoSQL - Programmation

Marsh Posté le 09-08-2006 à 18:00:35    

Salut !!
 
J'ai un problème de SQL qui pourra paraître simple pour certains,  
mais qui pour moi qui ai pas mal oublié le SQL est compliqué
 
Voilà, je travaille sur Access 2002
et j'ai fait 3 requêtes qui me donne ce résultat :
 
Catégorie Total
A  1
B  1
C  3
D  3
 
 
Catégorie Ouvert
C  1
 
 
Catégorie Clos
A  1
B  1
C  2
D  3
 
 
Et je voudrais que ma nouvelle requête fusionne ces 3 requêtes et me renvoie donc :
 
 
Catégorie Ouvert Clos Total
A  0 1 1
B  0 1 1
C  1 2 3
D  0 3 3
 
 
Est-ce que vous auriez une idée de comment le faire ?
 
 
J'ai fait la requête suivante pour l'instant :

Code :
  1. SELECT req1.Catégorie, req2.ouverts,  req3.clos, req1.total,
  2. FROM req1, req2, req3
  3. WHERE req1.Catégorie= req2.Catégorie AND req1.Catégorie= req3.Catégorie;


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 09-08-2006 à 18:00:35   

Reply

Marsh Posté le 10-08-2006 à 10:24:44    

Il te faut une requête UNION
 
tu prends  
requête 1 (code sql)
union
requête 2  (code sql)
union  
requête 3  (code sql)
 
Il faudra peut-être contourner le problème du 0

Reply

Marsh Posté le 10-08-2006 à 17:50:35    

J'ai fini par utiliser cette requête grâce à l'interface Access
 
SELECT DISTINCT nbDossiersParCat.Catégorie, nbDossiersOuvertsParCat.ouverts, nbDossiersClosParCat.clos, nbDossiersParCat.total
FROM nbDossiersClosParCat RIGHT JOIN (nbDossiersParCat LEFT JOIN nbDossiersOuvertsParCat ON nbDossiersParCat.Catégorie = nbDossiersOuvertsParCat.Catégorie) ON nbDossiersClosParCat.Catégorie = nbDossiersParCat.Catégorie;


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 10-08-2006 à 17:57:14    

J'ai un autre problème de SQL :
 
Avec cette requête :

Citation :

SELECT categorie AS Catégorie, count(numDossier) AS total
FROM Saisies
WHERE Year(Saisies.dateArrivee)=Year(Date())
GROUP BY categorie, Saisies.dateArrivee;


 
J'obtiens ce résultat :
Catégorie   Total
1              1
3              1
3              1
4              1
5              1
 
Comment pourrais-je obtenir ce résultat :
Catégorie   Total
1              1
3              2
4              1
5              1
 
 
Auriez-vous un moyen ?


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 10-08-2006 à 19:17:47    

Citation :

SELECT categorie AS Catégorie, count(numDossier) AS total
FROM Saisies
WHERE Year(Saisies.dateArrivee)=Year(Date())
GROUP BY categorie, Saisies.dateArrivee;


 
Essaie d'enlver ca pour voir

Reply

Marsh Posté le 10-08-2006 à 21:26:46    

tu dois en effet enlever Saisies.dateArrivee du group by  
et faire un sum(numDossier) pas count (a mois que la valeur soit tjrs 1 ce qui m ettone quand meme)

Reply

Marsh Posté le 25-08-2006 à 14:59:18    

jbourdellon a écrit :

Citation :

SELECT categorie AS Catégorie, count(numDossier) AS total
FROM Saisies
WHERE Year(Saisies.dateArrivee)=Year(Date())
GROUP BY categorie, Saisies.dateArrivee;


 
Essaie d'enlver ca pour voir


 [:spikler]  
c'était ça !!


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 25-08-2006 à 15:49:29    

J'ai encore une autre question...  
comment pourrais-je obtenir un enregistrement pour chaque catégorie y compris celle qui ont un total de 0 ?
 
En fait j'ai ça :
 
Catégorie   Total  
1              1  
3              2  
4              1  
5              1  
 
Mais je voudrais ça :
 
Catégorie   Total  
1              1  
2              0
3              2  
4              1  
5              1  
 
ou, au pire, ça :
 
Catégorie   Total  
1              1  
2            
3              2  
4              1  
5              1


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 29-08-2006 à 16:34:07    

avec la fonction nz il me semble

Reply

Sujets relatifs:

Leave a Replay

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