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

Bases de données Delphi Discussion :

Select from une requête sql


Sujet :

Bases de données Delphi

  1. #1
    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 : 68
    Points
    68
    Par défaut Select from une requête sql
    Bonjour,

    En essayant de récupérer quelques informations d'une requête (j''utilise INterbase), je n'ai pas réussi. Est-ce que vous avez une idée ? Voici ma requête :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    J'espère que vous pouvez m'aider.

    Merci.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 429
    Points : 24 794
    Points
    24 794
    Par défaut
    Tu nous fourni un SQL qui ne fonctionne pas j'imagine !
    Difficile de deviner ce que tu souhaites obtenir comme résultat

    vu que SELECT count(*) AS Nombre, ... sera déjà groupé sur date_transac, no_caisse,
    le SUM n'aura qu'une seule ligne par couple, donc n'aura aucun effet

    je ne connaissais pas ce format de Date, tu CAST date_transac en DATE, c'est qu'il ne l'est pas déjà ?
    Si c'est une chaine, le BETWEEN ne fonctionnera pas
    Si c'est déjà une date, je ne connais pas assez IB mais si ce format est correcte, cela devrait fonctionner
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    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 : 68
    Points
    68
    Par défaut
    @ShaiLeTroll:

    Pour
    vu que SELECT count(*) AS Nombre, ... sera déjà groupé sur date_transac, no_caisse,
    le SUM n'aura qu'une seule ligne par couple, donc n'aura aucun effet
    En fait comme le champ date_transac est de type TIMESTAMP et du coup dans ma table il est sous la forme par exemple 28/12/2011 10:28:04, j'ai en plus l'heure et si je fais le groupement je vais avoir des groupement à une heure précise mais moi ce que je cherche c'est plutôt par journée.
    je ne connaissais pas ce format de Date, tu CAST date_transac en DATE, c'est qu'il ne l'est pas déjà ?
    C'est pour ca que j'ai met le cast dans le premier groupement cela va me permettre d'avoir une date sans l'heure et par la suite je fais le groupement par jour. J'espère que j'étais clair et que vous pourriez m'aider.

    Merci.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 934
    Points
    40 934
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    vu que SELECT count(*) AS Nombre, ... sera déjà groupé sur date_transac, no_caisse,
    le SUM n'aura qu'une seule ligne par couple, donc n'aura aucun effet

    je ne connaissais pas ce format de Date, tu CAST date_transac en DATE, c'est qu'il ne l'est pas déjà ?
    Cela peut être un Timestamp donc oui pour le CAST .
    je n'ose croire que c'est un string car là effectivement ,
    Si c'est une chaine, le BETWEEN ne fonctionnera pas
    Néanmoins je 'Casterais' les dates du between
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT CAST(Date_transac as DATE) as dateachat,no_caisse,Count(*) as Nombre 
    FROM TABLE 
    WHERE date_transac BETWEEN CAST('28.12.2011' AS DATE) AND CAST('07.01.2012' as DATE)   
    GROUP BY 1,2
    donnerait le 'nombre de ventes' par jour par caisse
    néanmoins étant sur le forum delphi je pense que quelques paramètres (ENCORE ) serait les bienvenus
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 429
    Points : 24 794
    Points
    24 794
    Par défaut
    Et quel est le problème ?
    Mauvais Résultat ?
    Erreur SQL ?

    Décomposons ton SQL

    date_transac est un TIMESTAMP précis à la seconde je suppose

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    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

    Comment fonctionne le GROUP BY date_transac ?
    Il va regrouper seconde par seconde ?
    J'ai testé sous Sybase, mon TIMESTAMP est à la milli-seconde, j'ai pu faire le GROUP BY, le COUNT ainsi que le CAST, ça c'est OK

    J'ai donc tenté, le CAST aussi dans le GROUP BY, et cela fonctionne sous Sybase

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT count(*) AS Nombre, Cast(date_transac AS DATE) AS dateAchat, no_caisse 
      FROM TABLE 
      WHERE Cast(date_transac AS DATE) BETWEEN Cast('2011-12-28' AS DATE) AND Cast('2012-01-07' AS DATE)   
      GROUP BY Cast(date_transac AS DATE), no_caisse



    Essaye peut-être en retirant no_caisse, juste pour tester le GROUP sur un TIMESTAMP, une fois le résultat cohérent, tu ajoute ce critère supplémentaire
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    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 : 68
    Points
    68
    Par défaut
    Bonjour,

    Merci pour vos réponses mais j'ai essayé vos propositions mais il m'affiche un message d'erreur dans Interbase.

    @ShaiLeTroll J'ai essayé
    J'ai donc tenté, le CAST aussi dans le GROUP BY
    mais malheureusement il n'a pas fonctionné j'ai eu un message d'erreur c'est du au Cast

    Pareil pour la proposition SergioMaster j'ai testé
    Néanmoins je 'Casterais' les dates du between
    meme message d'erreur dans le Cast.

  7. #7
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 429
    Points : 24 794
    Points
    24 794
    Par défaut
    Tu as donc un message d'erreur, on avance !
    Maintenant, il faudrait nous fournir le message pour que l'on puisse savoir quoi répondre !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  8. #8
    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 : 68
    Points
    68
    Par défaut
    Le message d'erreur est le suivant
    Invalid token.
    Dynamic SQL Error.
    SQL error code = -104.
    Token unknown - line 5, char 10.
    Cast

  9. #9
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 429
    Points : 24 794
    Points
    24 794
    Par défaut
    Et LA requête exacte qui fourni CE message ?
    Tu utilises INTERBASE, quelle version ?
    Via quel composant ? IBQuery ? DBExpress ? UIB ? MDO ? IBDAC ? Zeos ? ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  10. #10
    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 : 68
    Points
    68
    Par défaut
    j'ai utilisé ta dernière requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT count(*) AS Nombre, Cast(date_transac AS DATE) AS dateAchat, no_caisse 
      FROM table
      WHERE date_transac BETWEEN Cast('2011-12-28' AS DATE) AND Cast('2012-01-07' AS DATE)
      GROUP BY Cast(date_transac AS DATE), no_caisse

  11. #11
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 429
    Points : 24 794
    Points
    24 794
    Par défaut
    Comment avoir une erreur en "Line 5, char 10" sur une requête ne contenant que 4 Lignes ?

    Utilises-tu IBExpert ou l'Explorateur SQL pour lancer la requête ?
    Utilises-tu un Query via sa propriété SQL, via Text ou via Add() ?

    Essaye CAST ou cast, peut-être une sensibilité à la casse
    Tu n'as pas répondu au sujet de la version et du provider !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  12. #12
    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 : 68
    Points
    68
    Par défaut
    Pour
    Comment avoir une erreur en "Line 5, char 10" sur une requête ne contenant que 4 Lignes ?
    en fait j'ai rajouté une ligne après From(sans faire exprès) et du coup j'ai une ligne de plus je suis désolé mais en l'enlevant l'erreur sera dans la ligne 4 plutôt.

    -) J'utilise l'explorateur SQL
    -)La version d'interbase est la 7.5

  13. #13
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 934
    Points
    40 934
    Billets dans le blog
    62
    Par défaut
    c'est le cast du group by qui plante ,
    c'est pour cela que je
    1- met toujours les Champs groupés en 1° dans mes SQL
    2- utilise les numéro de champ

    @Naceur il faut bien lire ce que j'ai écrit , je parlais de CAST pour les dates du BETWEEN mais j'ai mis 'GROUP BY 1,2'
    si tu tiens vraiment à les mettre après la somme tel qu'est ta Requete ce la donnerais GROUP BY 3,2

    Cette astuce fonctionnait déjà avec Interbase 5.5
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  14. #14
    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 : 68
    Points
    68
    Par défaut
    @SergioMaster j'ai essayé comme t'as dis (j'ai met Champs groupés en 1° et dans le GROUP BY j'ai met 1,2) mais toujours la même erreur dans le group by
    Invalid token.
    Dynamic SQL Error.
    SQL error code = -104.
    Token unknown - line 4, char 10.
    1.

  15. #15
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 934
    Points
    40 934
    Billets dans le blog
    62
    Par défaut
    je suis surpris , mais bon je n'utilise plus Interbase depuis ..... FireBird soit environ une bonne 10 d'années .
    et en essayant avec les nom de champs ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT CAST(Date_transac AS DATE) AS dateachat,no_caisse,Count(*) AS Nombre 
    FROM TABLE 
    WHERE date_transac BETWEEN CAST('28.12.2011' AS DATE) AND CAST('07.01.2012' AS DATE)   
    GROUP BY dateachat,no_caisse
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  16. #16
    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 : 68
    Points
    68
    Par défaut
    J'ai essayé avec les noms de champs mais il ne va pas le reconnaitre et voici le message d'erreur
    Dynamic SQL Error.
    SQL error code = -206.
    Column unknown.
    DATEACHAT.

  17. #17
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT CAST(Date_transac AS DATE) AS dateachat,no_caisse,Count(*) AS Nombre 
    FROM TABLE 
    WHERE date_transac BETWEEN CAST('28.12.2011' AS DATE) AND CAST('07.01.2012' AS DATE)   
    GROUP BY 1,no_caisse

    Dans un GROUP BY en général on ne peut pas mettre le nom d'un champ 'AS' il faut mettre le numéro de positionnement.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  18. #18
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 934
    Points
    40 934
    Billets dans le blog
    62
    Par défaut
    en allant naviguer sur différent site , il semble que Interbase 7.5 n'accepte ni les noms castés ni les numéros de champ ni les fonctions dans la clause group by
    un mauvais point pour interbase et peut être aussi pour ma mémoire .

    Un moyen de contourner la difficulté ?
    Créer un champ computed by dans la table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE LATABLE ADD DATE_T COMPUTED BY CAST(DATE_TRANSAC AS DATE)
    et utiliser ce champ pour la requête

    ou passer a Firebird
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  19. #19
    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 : 68
    Points
    68
    Par défaut
    @SergioMaster j'ai essayé ta mèthode mais j'ai pas réussi à rajouter le champ comme tu m'as dis, j'ai eu le message d'erreur
    Invalid token.
    Dynamic SQL Error.
    SQL error code = -104.
    Token unknown - line 1, char 44.
    CAST.

  20. #20
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    en allant naviguer sur différent site , il semble que Interbase 7.5 n'accepte ni les noms castés ni les numéros de champ ni les fonctions dans la clause group by
    un mauvais point pour interbase et peut être aussi pour ma mémoire .

    Un moyen de contourner la difficulté ?
    Créer un champ computed by dans la table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE LATABLE ADD DATE_T COMPUTED BY CAST(DATE_TRANSAC AS DATE)
    et utiliser ce champ pour la requête

    ou passer a Firebird
    Dans interbase 7.1 et dans interbase XE cela fonctionne parfaitement (J'utilise les deux). Je doute qu'ils aient virés cette fonctionnalité dans une version intermédiaire

    Oups erreur de ma part, j'ai pensé sur le ORder By au lieu du Group By
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

Discussions similaires

  1. [PDO] SELECT dans une requète SQL sur une page PHP
    Par thewit dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 19/01/2015, 23h48
  2. Select from une requête sql
    Par Naceur84 dans le forum InterBase
    Réponses: 2
    Dernier message: 03/04/2012, 16h07
  3. [Oracle] Comment remplir un select avec une requête SQL
    Par Farow dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/10/2011, 11h30
  4. Récupérer les valeurs d'une requête SQL dans un champs html SELECT
    Par tamiii dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/11/2007, 14h27
  5. [MySQL 4.0.26] Select From une requête
    Par Ludo_xml dans le forum Requêtes
    Réponses: 1
    Dernier message: 17/05/2006, 23h40

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