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

Langage SQL Discussion :

Requete possible ?


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 153
    Points : 168
    Points
    168
    Par défaut Requete possible ?
    Bonjoir

    J'ai une table tasks_history :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    create table if not exists tasks_history (
    	id_task integer not null,
    	unit_cost real, 
    	quantity real, 
    	end_date text,
    	update_date text
    );
    où update_date est un champ au format date ISO (AAAA-MM-JJ).
    Cette table permet d'avoir un historique des modifications effectuées sur une autre table (tasks), comme un log.

    Est il possible d'obtenir un état des taches à une date donnée ?

    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    1 | 60 | 32 | 2009-11-13 | 2009-09-25
    2 | 60 | 40 | 2009-10-30 | 2009-09-25
    1 | 60 | 40 | 2009-11-13 | 2009-10-10
    1 | 60 | 48 | 2009-11-20 | 2009-10-20
    1 | 60 | 48 | 2009-11-13 | 2009-10-30
    Ceci signifie que j'ai 2 taches : la 1 qui a été mise à jour le 10/10, le 20/10 et 30/10, et la 2 qu'on a jamais mis a jour.

    Ce que je recherche, c'est avoir l'état de toutes mes taches à une date donnée.

    Pour le 01/10, je voudrais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    1 | 60 | 32 | 2009-11-13 | 2009-09-25
    2 | 60 | 40 | 2009-10-30 | 2009-09-25
    Pour le 15/10, je voudrais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    1 | 60 | 40 | 2009-11-13 | 2009-10-10
    2 | 60 | 40 | 2009-10-30 | 2009-09-25
    Pour une tache, c'est facile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select * from tasks_history
    where update_date <= "2009-10-15" and id_task = 1
    order by update_date desc
    limit 1
    Mais pour avoir l'ensemble des taches, je sèche...
    C'est jouable, où bien faut il que je le fasse pour chaque tache coté client ?
    Bonne fin de week end

  2. #2
    Membre éprouvé Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Points : 1 107
    Points
    1 107
    Par défaut
    Bonsoir,

    Essayez quelque chose comme ceci:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT id_task, MAX(update_date) AS update_date
    FROM tasks_history
    WHERE update_date < '2009-10-15'
    GROUP BY id_task

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 153
    Points : 168
    Points
    168
    Par défaut
    Merci beaucoup, ça cartonne.
    J'ai toujours du mal avec les group by... Je suis développeur C++, et la méthode de réflexion n'est quand pas la même du tout avec le SQL.

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

Discussions similaires

  1. [MySQL] [Export] requete possible
    Par Katachana dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 27/03/2008, 15h27
  2. [AJAX] Moins de requetes possibles sur un server. Ajax ou Php?
    Par trihanhcie dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/05/2006, 13h08
  3. Utiliser deux bases dans une requete, possible ?
    Par compu dans le forum Requêtes
    Réponses: 2
    Dernier message: 20/02/2006, 14h09
  4. create table test as (requete) possible ?
    Par voyageur dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 31/10/2004, 12h50
  5. [jointure]requete possible de double jointure entre 2 tables
    Par akira_le_gaucher dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/05/2004, 15h03

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