Requete SQL sous Oracle Balaise ...

Requete SQL sous Oracle Balaise ... - Programmation

Marsh Posté le 28-06-2001 à 12:18:36    

SELECT ID_PREFIX_APPELANT,SUM(DUREE_APPEL),SUM(MONTANT),AVG(DUREE_APPEL),COUNT(ID_PREFIX_APPELANT)  
FROM ST_HISTO_STAT
GROUP BY ID_PREFIX_APPELANT ORDER BY 1;
Je veux pouvoir trier cette requete non pas par 1 Mais par une table (ST_LIBELLE) dont la cle est 1 (ID_PREFIX_APPELANT)
Si qqu'un a une idee
Merci

Reply

Marsh Posté le 28-06-2001 à 12:18:36   

Reply

Marsh Posté le 28-06-2001 à 13:49:57    

pige pas trop ce ke tu veux :D

Reply

Marsh Posté le 28-06-2001 à 13:54:02    

J'essaie d'avoir des Sommes, moyennes ... Regroupées par  
Id_Prefix_appelant  
Le pB, c'est que le libelle correspondant a Id... se trouve dans une autre table et c'est sur ce libelle que je veux trier ma requete
Est-ce plus clair?

Reply

Marsh Posté le 28-06-2001 à 13:56:00    

plutot que order by c'est having qu'ils faut utiliser me semble t'il....

Reply

Marsh Posté le 28-06-2001 à 13:57:50    

Having c'est une selection (et non un tri) sur une zone cumul

Reply

Marsh Posté le 28-06-2001 à 14:03:39    

ben faut faire un chtite jointure, nan ??? qd tu bosses sur plusieurs tables.


---------------
Mes photos,Feed-Back HA/V
Reply

Marsh Posté le 28-06-2001 à 14:07:59    

Voila ou j'en suis mais j'arrive pas a faire de group by        
Il faut que je cumule par LIBELLE
 SELECT ST.ID_PREFIX_APPELANT,LB.ID_LIBAUTO,LB.LIBELLE FROM ST_HISTO_STAT ST, ST_LIBELLE LB
        WHERE
        ST.ID_PREFIX_APPELANT = LB.ID_LIBAUTO

Reply

Marsh Posté le 28-06-2001 à 14:09:17    

bon en fait je comprend rien a ce que tu veux faire.......
mais d'apres ce que je comprend tu peux un select imbriqué, avec un in :
select truc from blallbla where condit in (select blablo order by)......
cake t'en pense!!

Reply

Marsh Posté le 28-06-2001 à 15:40:23    

La palme a grosmethos k'a trouve
BRAVO et MERCI      
  SELECT LB.LIBELLE,SUM(DUREE_APPEL),AVG(DUREE_APPEL),COUNT(DUREE_APPEL),COUNT(LB.LIBELLE)
        ,SUM(MONTANT),AVG(MONTANT)      
         FROM ST_HISTO_STAT ST, ST_LIBELLE LB
        WHERE
        ST.ID_PREFIX_APPELANT = LB.ID_LIBAUTO AND
        TO_CHAR(DATE_APPEL,'DD/MM/YYYY') BETWEEN '01/01/2001' AND '22/06/2001'
        GROUP BY LB.LIBELLE ORDER BY LB.LIBELLE;

Reply

Sujets relatifs:

Leave a Replay

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