|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 3 ![]() |
Bonjour à tous,
je débute vraiment en SQL et j'ai une requête à écrire dont je n'arrive pas à venir à bout Je dois extraire des données d'une table (avec des connexions vers d'autres tables) + faire une moyenne d'une de ces données et afficher le résultats de la moyenne dans une colonne x fois. Avec l'exemple ça ira mieux: D'une table Appels je dois extraire le nom du site appelant (via une connexion avec une autre table Site), la durée de chaque appel, l'heure de début et de fin de chaque appel ainsi que calculer la moyenne des appels pour chaque site et l'afficher dans les résultats pour chaque ligne du site concerné et c'est bien là toute la difficultée. Il me faudrait en gros l'opposé du group by car je veux reproduire x fois le résultat de ma moyenne dans une colonne. J'ai essayé des select récursif etc.. sans succès. Voici la forme de ma requête la plus simple: Code :
|
||
|
|
00
|
|
|
#2 | ||||||
|
Membre Expert
![]() Laure Consultante en Business Intelligence Inscription : avril 2007 Messages : 983 ![]() |
Bonjour,
Déjà ta requête est fausse au niveau des jointures !! Et puis prend l'habitude de mettre ta structure des tables et ton SGBD. Cette requête renvoie les datedebut, datefin et duree par site : Code :
Code :
Code :
__________________
~ Lola ~ Ne pas oublier : et aussi :
|
||||||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 3 ![]() |
Merci lola06 pour ces précisions précieuses
Malheureusement pour le moment cette requête ne m'affiche pas la colonne moyenne mais cela m'a mis sur la bonne voie je vais maintenant pouvoir chercher pourquoi. J'avais essayé de faire des jointures de résultats de select comme tu m'as montré mais sans réel succès au moins là j'ai un exemple. Mission: afficher cette moyenne!! Merci encore |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Laure Consultante en Business Intelligence Inscription : avril 2007 Messages : 983 ![]() |
Que ce passe-t-il lorsque tu exécute cette requête ?
Tu as une erreur ? Pas de résultats ? ... Code :
SELECT libelle, avg(duree) FROM appels JOIN site ON n = rsite GROUP BY libelle Quels sont les types de tes colonnes ?
__________________
~ Lola ~ Ne pas oublier : et aussi :
|
|
|
00
|
|
|
#5 | ||
|
Membre Expert
![]() Inscription : août 2009 Messages : 779 ![]() |
Selon le SGBD on peut faire du fenêtrage pour l'aggrégation :
Code :
|
||
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 3 ![]() |
Merci Rei Ichido ta solution fonctionne.
lola06, quand j'exécute ta requête j'obtenais tous les résultats souhaités sans erreur sauf la colonne contenant la moyenne qui n'apparait pas. Je vais prendre un moment pour analyser les choses et je vous donne un feedback ensuite. Merci encore à tous les 2 pour vos réponses rapides! Je note en résolu en attendant. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com