Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Nouveau Membre du Club
    Homme Profil pro
    Inscrit en
    mai 2011
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : mai 2011
    Messages : 230
    Points : 35
    Points
    35

    Par défaut Select from une requête sql

    Bonjour,

    En essayant de récupérer quelques informations d'une requête sql, je n'ai pas réussi. Est-ce que vous avez une idée ? Voici ma requête :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT sum(Nombre) AS somme, dateachat, no_caisse 
    FROM (
      SELECT count(*) AS Nombre, Cast(date_transac AS DATE) AS dateAchat, no_caisse 
      FROM TABLE 
      WHERE date_transac BETWEEN '28.12.2011' AND '07.01.2012'   
      GROUP BY date_transac, no_caisse
    )
    GROUP BY dateachat, no_caisse
    J'espère que vous pouvez m'aider.

    Merci.

  2. #2
    ced
    ced est actuellement connecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro Cédric Duprez
    Gestion de bases de données techniques
    Inscrit en
    avril 2002
    Messages
    4 684
    Détails du profil
    Informations personnelles :
    Nom : Homme Cédric Duprez
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2002
    Messages : 4 684
    Points : 14 511
    Points
    14 511

    Par défaut

    Bonjour,

    Il suffit de mettre un alias à l'ensemble de la sous-requête :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT sum(Nombre) AS somme, dateachat, no_caisse 
    FROM (
      SELECT count(*) AS Nombre, Cast(date_transac AS DATE) AS dateAchat, no_caisse 
      FROM TABLE 
      WHERE date_transac BETWEEN '28.12.2011' AND '07.01.2012'   
      GROUP BY date_transac, no_caisse
    ) AS t
    GROUP BY dateachat, no_caisse
    Au passage, si date_transac est stocké sous forme de chaine de caractères (ce qui a l'air d'être le cas vu le CAST dans la requête), je suis curieux de voir ce que va renvoyer WHERE date_transac BETWEEN '28.12.2011' AND '07.01.2012'... Certainement pas ce que vous attendez.
    Rédacteur / Modérateur SGBD
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Nouveau Membre du Club
    Homme Profil pro
    Inscrit en
    mai 2011
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : mai 2011
    Messages : 230
    Points : 35
    Points
    35

    Par défaut

    Merci ced je me suis trompé de forum au lieu de poster dans Interbase j'ai écrit dans MySql c'est pour ça que j'ai fait le cast sachant que le champ date_transac est de type TIMESTAMP.Comme moi j'ai plusieurs transaction par jour et qui apparaissent avec le détail de la date ainsi que l'heure de la transaction je voulais savoir le nombre de transaction par jour et par no_caisse pour une période donnée. En essayant de rajouter un alias ça n'a pas fonctionné, j'ai pas toujours réussi à avoir le bon résultat.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •