Précédent   Forum du club des développeurs et IT Pro > Bases de données > Autres SGBD > InterBase
InterBase Forum d'entraide sur le SGBD InterBase de Codegear. Avant de poster -> F.A.Q Interbase, Tutoriels
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 03/04/2012, 14h17   #1
Naceur84
Nouveau Membre du Club
 
Homme
Inscription : mai 2011
Messages : 216
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mai 2011
Messages : 216
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.
Naceur84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2012, 14h33   #2
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 4 063
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 37
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 4 063
Points : 8 922
Points : 8 922
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
ced est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2012, 15h07   #3
Naceur84
Nouveau Membre du Club
 
Homme
Inscription : mai 2011
Messages : 216
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mai 2011
Messages : 216
Points : 35
Points : 35
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.
Naceur84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h28.


 
 
 
 
Partenaires

Hébergement Web