Requete SQL sous Oracle Balaise ... - Programmation
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?
Marsh Posté le 28-06-2001 à 13:56:00
plutot que order by c'est having qu'ils faut utiliser me semble t'il....
Marsh Posté le 28-06-2001 à 13:57:50
Having c'est une selection (et non un tri) sur une zone cumul
Marsh Posté le 28-06-2001 à 14:03:39
ben faut faire un chtite jointure, nan ??? qd tu bosses sur plusieurs tables.
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
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!!
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;
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