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 :

recuperer pour chaque ID le dernier champ enregistre d'une colonne scpecifique


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Femme Profil pro
    Analyste fonctionnel
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste fonctionnel

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Points : 10
    Points
    10
    Par défaut recuperer pour chaque ID le dernier champ enregistre d'une colonne scpecifique
    Bonjour,

    Je ne suis pas vraiment experte en SQL...et je bloque sur une requete... jái la table suivante, et j'aimerai recuperer pour chaque Record_ID le dernier champ enregistre de la colonne 'effort'
    ex 16 pour le Record_ID # 4 ; 140 pour le Record_Id #5"
    Record_ID Effort
    4 12
    4 15
    4 16
    5 100
    5 120
    5 125
    5 140
    Si qqu a une piste ?? Merci !!!

  2. #2
    Membre éclairé Avatar de GeekMokona
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2011
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2011
    Messages : 327
    Points : 817
    Points
    817
    Par défaut
    Bonjour,

    Le Dernier ou le max ???

    Regarde Over() ... http://msdn.microsoft.com/fr-fr/library/ms189461.aspx
    Séverine Capon - Consultante MS BI
    Rejoignez la communauté du chat et partagez vos connaissances ou vos questions avec nous

    Merci de dés que le commentaire vous a aidé ou de marquer si votre problème est résolu

  3. #3
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    "le dernier", ça ne veut rien dire.

    Soit c'est le plus grand, et à ce moment c'est :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select recordid, max(effort) from tatable group by effortid

    Soit c'est le plus récent (à savoir le dernier inséré) et en espérant que tu ais une clé primaire "identity", ou éventuellement une colonne d'horodatage, c'est :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select t1.recordid, t1.effort
    from tatable t1
    left outer join tatable t2 on t2.recordid = t1.recordid and t2.id > t1.id -- ou alors t2.horodatage > t1.horodatage
    where t2.recordid is null
    On ne jouit bien que de ce qu’on partage.

  4. #4
    Membre à l'essai
    Femme Profil pro
    Analyste fonctionnel
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste fonctionnel

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par mokona18 Voir le message
    Bonjour,

    Le Dernier ou le max ???

    Regarde Over() ... http://msdn.microsoft.com/fr-fr/library/ms189461.aspx

    merci pour le lien, je vais essayer.

    Il s'agit en fait du dernier a avoir ete insere

  5. #5
    Membre à l'essai
    Femme Profil pro
    Analyste fonctionnel
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste fonctionnel

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    "le dernier", ça ne veut rien dire.

    Soit c'est le plus grand, et à ce moment c'est :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select recordid, max(effort) from tatable group by effortid

    Soit c'est le plus récent (à savoir le dernier inséré) et en espérant que tu ais une clé primaire "identity", ou éventuellement une colonne d'horodatage, c'est :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select t1.recordid, t1.effort
    from tatable t1
    left outer join tatable t2 on t2.recordid = t1.recordid and t2.id > t1.id -- ou alors t2.horodatage > t1.horodatage
    where t2.recordid is null

    Merci pour les infos, je vais tester...Il s'agit en fait du plus récent (à savoir le dernier inséré), helas ce n'est pas une cle primaire 'identity' mais heureusement je viens de trouver une colonne 'Date' >>
    Record_ID Effort Date
    4 12 01/04/2014
    4 15 05/01/2014
    4 16 06/01/2014
    5 100 01/01/2014
    5 120 03/01/2014
    5 125 06/01/2014
    5 140 07/01/2014

    ca devrait me retourner>

    Record_ID Effort Date
    4 16 06/01/2014
    5 140 07/01/2014

  6. #6
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Ok. donc remplace "id" par "date" dans ma requête, et ça devrait fonctionner sans problème.
    On ne jouit bien que de ce qu’on partage.

  7. #7
    Membre à l'essai
    Femme Profil pro
    Analyste fonctionnel
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste fonctionnel

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Ca fonctionne !!!
    C genial! , Merci !!

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

Discussions similaires

  1. [2.x] une image pour chaque option d'un champ de type 'choice'
    Par laurentche dans le forum Symfony
    Réponses: 5
    Dernier message: 14/05/2015, 12h31
  2. [MySQL] boucle pour chaque entrée dans un champ
    Par boubourse92 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 28/11/2008, 01h52
  3. Pour chaque ligne supprimée, copier cette ligne dans une autre feuille
    Par athos7776 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/10/2008, 03h35
  4. lien pour chaque ligne d'un champ
    Par info_sara dans le forum Dreamweaver
    Réponses: 7
    Dernier message: 28/05/2008, 14h50
  5. [MySQL] lien pour chaque ligne d'un champ
    Par info_sara dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/05/2008, 00h42

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