IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

SELECT DANS SELECT


Sujet :

Requêtes MySQL

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 110
    Par défaut SELECT DANS SELECT
    Bonjour,

    Je cherche à faire une requête avec DES SUM et 2 SELECT basés sur le même GROUP BY. J'ai fait 2 essais qui ne me donnent pas le bon résultat.
    Voici mon 1er essai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT LEFT(campagne,4) as campagne,SUM(nb_appel) as total_appels,(SELECT SUM(nb_appel) FROM contact WHERE statut="RDV" ) as rdvc FROM contact WHERE statut<>"Faux Numéro" GROUP BY LEFT(campagne,4)
    Le résultat est que ce que je trouve dans "rdvc" correspond au total des appels avec le statut RDV. Sans distinction par campagne.

    Voici mon 2eme essai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT LEFT(campagne,4) as campagne,SUM(nb_appel) as total_appels,(SELECT SUM(nb_appel) FROM contact WHERE statut="RDV" GROUP BY LEFT(campagne,4)) as rdvc FROM contact WHERE statut<>"Faux Numéro" AND statut<>"Pas Joignable" GROUP BY LEFT(campagne,4)
    Le résultat est une erreur qui est la suivante :
    Warning: mysql_query() [function.mysql-query]: Unable to save result set in C:\wamp\www\informatique-ecl\www\call_center\call_stats.php on line 31
    erreur requete campagne Subquery returns more than 1 row
    Merci à celui ou celle qui pourra m'apporter une aide.

  2. #2
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    salut,

    c'est du au non renommage de ta table contact et des colonnes dans ta sous-requête je pense...

    sinon là tu te tires une balle dans le pied en ré-exécutant autan de fois qu'il y a de ligne dans contact pour rien vu que tu ne propages pas de valeur de la requête principal à celle interne... tu peux le faire en une seule requête:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select LEFT(campagne,4) AS campagne,
      SUM(nb_appel) AS total_appels,
      SUM(if(statut="RDV",nb_appel,0))AS rdvc
    FROM contact
    WHERE statut<>"Faux Numéro" AND statut<>"Pas Joignable"
    GROUP BY LEFT(campagne,4)

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 110
    Par défaut MERCI !!!!!!
    Excellent. Ca marche, c'est exactement ce qu'il fallait.
    Merci pour cette information et une très bonne journée à vous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Select dans select
    Par bella1 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/11/2009, 16h19
  2. Réponses: 2
    Dernier message: 10/08/2009, 09h24
  3. Select dans Select
    Par dumser1 dans le forum Langage SQL
    Réponses: 16
    Dernier message: 22/10/2008, 09h57
  4. PB Select dans Select
    Par amel123456789 dans le forum SQLite
    Réponses: 1
    Dernier message: 03/06/2008, 16h36
  5. Requête (select dans select)
    Par zut94 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 03/03/2006, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo