[ORACLE] Combinaison de deux résultats de requête

Combinaison de deux résultats de requête [ORACLE] - SQL/NoSQL - Programmation

Marsh Posté le 14-03-2012 à 12:07:56    

Hello :)
 
J'ai actuellement deux requêtes distinctes (A et B)
 
A :

Code :
  1. select o.abrorig "Abrégé", o.nomorig "Nom Origine", o.codcatorig "Catégorie", count(*) "Nombre de demandes"
  2. from demande d, origine o
  3. where (d.datenreg between TO_DATE('01/01/2012','DD/MM/YYYY') AND TO_DATE('31/12/2012','DD/MM/YYYY'))
  4. and   d.nuorig = o.nuorig
  5. and   d.codsecteur in ('S')
  6. and   o.codcatorig in ('E', 'A')
  7. group by o.abrorig, o.nomorig, o.codcatorig
  8. order by count(*) desc;


 
B :

Code :
  1. select o.abrorig, count(*) as nombre
  2. from demande d, origine o, examen e, examenref er
  3. where (d.datenreg between TO_DATE('01/01/2012','DD/MM/YYYY') AND TO_DATE('31/12/2012','DD/MM/YYYY'))
  4. and   d.nuorig = o.nuorig
  5. and   d.nudde = e.nudde
  6. and   e.nurefexam = er.nurefexam
  7. and   er.codrefexam like 'D%'
  8. and   d.codsecteur = 'S'
  9. and   o.codcatorig in ('E', 'A')
  10. group by o.abrorig
  11. order by count(*) desc;


 
Les deux me renvoient bien les résultats que j'attend :
Pour A :

Code :
  1. id         Nom                     Type   Nombre
  2. 3125 nom du service xxx E 438
  3. 1561 nom du service yyy E       355


 
La requête B :

Code :
  1. xxx 50
  2. zzz    41
  3. bbb 39


 
Donc l'idée, c'est que j'ai un service xxx qui apparait bien dans mes deux requêtes, mais ça cible des éléments différents (pour la requête A je veux connaitre un nombre global et pour la B un nombre précis sur un type d'examen).
Y a t-il un moyen d'afficher la colonne 2 de ma requête B dans la requête A ?
 
 [:potemkin]  
 
J'ai tenté de combiner mes deux requêtes mais ça ne me ressort que l'équivalent de la requête B (et encore... pas forcément)
 
Voici ma dernière tentative (après quelques autres essais avec des join, union...)

Code :
  1. select o.abrorig "Abrégé", o.nomorig "Nom Origine", o.codcatorig "Catégorie", count(d.nuddeext) "Nombre de demandes", count(av.nuddeext)
  2. from demande d, demande av, origine o, examen e, examenref er
  3. where (d.datenreg between TO_DATE('01/01/2012','DD/MM/YYYY') AND TO_DATE('31/12/2012','DD/MM/YYYY'))
  4. and   d.nuorig = o.nuorig
  5. and   d.codsecteur in ('S')
  6. and   (av.datenreg between TO_DATE('01/01/2012','DD/MM/YYYY') AND TO_DATE('31/12/2012','DD/MM/YYYY'))
  7. and   av.nuorig = o.nuorig
  8. and   av.nudde = e.nudde
  9. and   av.codsecteur in ('S')
  10. and   e.nurefexam = er.nurefexam
  11. and   o.codcatorig in ('E', 'A')
  12. group by o.abrorig, o.nomorig, o.codcatorig
  13. order by count(*) desc;


 
Si jamais vous avez une idée, ce serait bienvenu :D


---------------
http://www.kevintran.fr
Reply

Marsh Posté le 14-03-2012 à 12:07:56   

Reply

Marsh Posté le 13-04-2012 à 01:52:39    

j'y travail

Reply

Marsh Posté le 13-04-2012 à 18:42:11    

merci ^^


---------------
http://www.kevintran.fr
Reply

Sujets relatifs:

Leave a Replay

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