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

Requêtes PostgreSQL Discussion :

Obtenir les donnees les plus recentes


Sujet :

Requêtes PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    190
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2004
    Messages : 190
    Par défaut Obtenir les donnees les plus recentes
    Salut a tous,

    J'ai un petit soucie pour ecrire une requete.

    J'ai 2 tables Voiture et Pieces (installees sur la voitures depuis son achat)

    Voiture a pour colonne: id, marque, couleur, etc...
    Pieces a pour colonne: id, id_voiture, type_piece, nom, date_installation, etc...

    On peut imaginer que dans la table Pieces y a plusieurs autoradios enregistres, plusieurs marques de pneu, etc....

    J'aimerai faire une requete qui me donne les infos sur la voiture + les derniers pneus installes dessus.

    Comment puis-je faire pour comparer les dates et garder les donnees les plus recentes?

    Merci d'avance pour votre aide.

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    190
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2004
    Messages : 190
    Par défaut
    Apres avoir re-recherche j'ai finalement trouve ce post: http://www.developpez.net/forums/d63...t-plus-recent/

    Donc c'est bon

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    190
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2004
    Messages : 190
    Par défaut
    En fait non. Ca marche pas.

    Voici la requete que j'ai fait adapte a ma vrai base de donnee qui est plus complexe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT S.fld_epc_id, S.fld_quantity, P.fld_description, P.fld_man_part_no, M.fld_manufacturer, 
           S.fld_unit_value, S.cal_total_value, C.fld_action_date, C.fld_notes
    FROM tbl_stock AS S, tbl_parts AS P, tbl_parts_manufacturers AS M, tbl_stock_control AS C
    WHERE S.fld_part_id = P.fld_id AND S.fld_epc_id = 0 AND P.fld_manufacturer_id = M.fld_id
          AND S.fld_id = C.fld_stock_id AND C.fld_action = 'Stock Check' 
          AND C.fld_action_date = (
    				SELECT MAX(fld_action_date) 
    				FROM tbl_stock_control AS C2
    				WHERE C.fld_action_date = C2.fld_action_date)
    ORDER BY C.fld_notes;
    On peut comparer la table tbl_stock a Voiture et tbl_stock_control a Pieces avec 'Stock Check' un type de piece
    Apparemment la requete actuelle compare la date avec celle des enregistrements de types different (autre que 'Stock Check') et quand y a un autre type installe plus recemment l'enregistrement n'ai pas retenu.

    EDIT: je rajoute un exemple plus simple qui correspond a mon probleme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Table VOITURE
    -------------
     
    id	|	Marque	|	Modele	|	...
    --------------------------------------------------
    0	|	Peugeot	|	308	|	...
    1	|	Peugeot	|	207	|	...
    2	|	Peugeot	|	308	|	...
    3	|	Peugeot	|	407	|	...
    4	|	Peugeot	|	308	|	...
     
     
    Table PIECES
    ------------
     
    id	|	id_voiture	|	Type		|	Date
    -----------------------------------------------------------------------
    0	|		0	|	Autoradio	|	11/05/2009
    1	|		2	|	Pneus		|	03/02/2009
    2	|		2	|	Autoradio	|	16/11/2003
    3	|		3	|	Autoradio	|	16/03/2003
    4	|		2	|	Autoradio	|	25/02/2003
    5	|		1	|	Pneus		|	22/02/2003
    6	|		4	|	Jantes		|	09/08/2000
    Donc avec cet exemple, comment obtenir les infos des 308 ayant un Autoradio + les infos de ces Autoradios (les derniers installe dessus ces voitures).

    Le resultat devrait etre du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    id_voiture|	Marque	|	Modele	|	Type		|	Date
    -------------------------------------------------------------------------------
    0	|	Peugeot	|	308	|	Autoradio	|	11/05/2009
    2	|	Peugeot	|	308	|	Autoradio	|	16/11/2003

Discussions similaires

  1. obtenir la date la plus recente
    Par chris0938 dans le forum SQL
    Réponses: 4
    Dernier message: 24/05/2010, 14h04
  2. Obtenir les donnees les plus recentes
    Par MinsK dans le forum Langage SQL
    Réponses: 7
    Dernier message: 10/06/2009, 11h58
  3. Comment selectionner les plus recents?
    Par Agent_Nivek dans le forum DB2
    Réponses: 3
    Dernier message: 31/12/2008, 15h43
  4. gridview + obtenir les donnees de la ligne
    Par ChristopheOce dans le forum ASP.NET
    Réponses: 1
    Dernier message: 11/01/2008, 14h13
  5. Importation des fichiers les plus recents
    Par avantoux dans le forum VBA Access
    Réponses: 8
    Dernier message: 28/09/2007, 13h50

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