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

MS SQL Server Discussion :

Requette recup date max


Sujet :

MS SQL Server

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Requette recup date max
    bonjour,

    Voila j'ai une table ID,CODE_MAT,DATE_VIS,CODE_VIS

    et j'essaye d'ecrire une requete qui me retournerai pour un code matériel la visite la plus vielle effectué par code visite voila ce que j'ai deja ecrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select * from [MATERIEL].[dbo].[MAT_VERIFICATION] A
    join (select MAX([VRO_DATE])as maxi,[TVI_CODE] from [MATERIEL].[dbo].[MAT_VERIFICATION]
    where [MAT_CODE]='D10134'
    group by [TVI_CODE]) B on A.[TVI_CODE]=B.[TVI_CODE]
    where A.[VRO_DATE]=B.maxi
    avec cette requete j'ai aussi les lignes pour d'autre code matériels ??? je ne comprend pas pourquoi.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Points : 502
    Points
    502
    Par défaut
    Citation Envoyé par Niquel
    bonjour,

    Voila j'ai une table ID,CODE_MAT,DATE_VIS,CODE_VIS

    et j'essaye d'ecrire une requete qui me retournerai pour un code matériel la visite la plus vielle effectué par code visite voila ce que j'ai deja ecrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select * from [MATERIEL].[dbo].[MAT_VERIFICATION] A
    join (select MAX([VRO_DATE])as maxi,[TVI_CODE] from [MATERIEL].[dbo].[MAT_VERIFICATION]
    where [MAT_CODE]='D10134'
    group by [TVI_CODE]) B on A.[TVI_CODE]=B.[TVI_CODE]
    where A.[VRO_DATE]=B.maxi
    avec cette requete j'ai aussi les lignes pour d'autre code matériels ??? je ne comprend pas pourquoi.
    Bonjour,
    normal.
    Ta jointure est faite uniquement sur la date et TVI_CODE. Donc ce que tu as ecrit est :
    "donne moi tous les infos de la table MATERIEL dans laquel la date est la même que le max des date du code XXX à TVI_CODE identiques'

    Il faut donc que tu ajoutes une clause
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    where A.[VRO_DATE]=B.maxi
    AND A.MAT_CODE='D10134'
    Voilà
    Y'a mieux sinon. Tu ajoutes MAT_CODE dans ta liste de select de ta sous requete et dans le INNER JOIN tu ajoutes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    on A.[TVI_CODE]=B.[TVI_CODE]
    AND A.[MAT_CODE] = B.[MAT_CODE]
    dans

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/11/2006, 10h46
  2. Requette sur date avec regroupement par semaine
    Par bob75000 dans le forum Access
    Réponses: 6
    Dernier message: 17/07/2006, 15h39
  3. [Interbase + DateTimePicker] Requette parametre Date
    Par touhami dans le forum Bases de données
    Réponses: 3
    Dernier message: 02/09/2005, 11h36
  4. 3 tables, 1 attribut date par table > avoir la date MAX
    Par Amon dans le forum Langage SQL
    Réponses: 5
    Dernier message: 26/05/2004, 13h54
  5. requette where date="moins de 2 jours"
    Par nmerydem dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 18/05/2004, 16h58

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