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

 MySQL Discussion :

BIRT :afficher les résultats de l'année précédente


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2013
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 19
    Par défaut BIRT :afficher les résultats de l'année précédente
    Bonjour !

    J'ai une requête SQL pour obtenir un dataset sous BIRT qui récupère les données selon les dates spécifiées.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT *
        FROM 'CDL'
        WHERE  DATE >= ?
        AND    DATE <= ?

    (Les "?" sont automatiquement remplacées par des variables de type date, entrées par l'utilisateur)

    Bref, je voudrais récupérer maintenant les résultats de l'année précédente. Malheureusement, je n'y arrive pas...

    La commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE `DATE` +  INTERVAL 1 YEAR > "2013/01/01"
    Fonctionne sous PHPMyAdmin mais...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE  DATE+ INTERVAL 1 YEAR >= ?
    ne fonctionne pas sous Eclipse (BIRT), me disant que la syntaxe SQL n'est pas reconnue... Pire, il plante quelquefois

    J'utilise MySQL 5.5.27. Pourriez-vous m'aider ? Merci d'avance !

    EDIT : Mon topic a bougé vers MySQL, pourtant c'est bien un problème avec BIRT que j'ai, non ?

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    DATE est un mot réserve en SQL...
    Votre problème pourrait venir de là

    Changez le nom de cette colonne

    EDIT : en fait non ! d'après la doc de MySQL
    Les symboles suivants (issus de la table ci-dessus) sont interdits par ANSI SQL mais permis par MySQL en tant que noms de colonnes ou de tables. Cela est dû au fait que ces noms sont très courants, et de nombreux programmeur les ont déjà utilisés.

    • ACTION
    • BIT
    • DATE
    • ENUM
    • NO
    • TEXT
    • TIME
    • TIMESTAMP

  3. #3
    Membre averti
    Inscrit en
    Avril 2013
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 19
    Par défaut
    Bonjour et merci de ta réponse !

    Malheureusement, DATE n'est qu'un nom que j'ai mis dans le forum afin de simplifier le problème... on peut dire que j'ai échoué !

    La colonne s'appelle en réalité `cdl`.VTIGER_INVOICE.INVOICEDATE.

    De même, la requête est bien plus longue que cela.

    Ce qui est étrange, c'est qu'un grand nombre de fonctions fonctionnants sous PHPMyAdmin ne marchent pas avec Birt... J'en viens donc à me demander si Birt utilise autre chose que le SGBD précisé.

    J'ai trouvé une solution temporaire en écrivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    AND DATEDIFF(`cdl`.VTIGER_INVOICE.INVOICEDATE, ?) >= -365 
    AND DATEDIFF(`cdl`.VTIGER_INVOICE.INVOICEDATE, ?) <= -365
    ce qui me permet de récupérer les résultats 365 jours avant le paramètre précisé. L'ennui est que les années bissextiles, je devrais enlever un jour supplémentaire...

    Je cherche donc un moyen de récupérer les données vieilles d'un an, et non pas de 365 jours, tout en sachant que certaines fonctions telles que DATE_ADD ne fonctionnent pas.

    Je m'excuse encore pour t'avoir induit en erreur

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

Discussions similaires

  1. Compter et afficher les résultats
    Par Quartus dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 19/02/2007, 16h41
  2. Réponses: 7
    Dernier message: 18/01/2007, 15h03
  3. [MySQL] Afficher les résultats sur 3 colones et 2 lignes
    Par Meewix dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 30/10/2006, 23h14
  4. Réponses: 7
    Dernier message: 21/09/2006, 08h44
  5. [SQL] Afficher les résultats d'une requête sur plusieurs pages
    Par mealtone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/09/2006, 13h20

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