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

Décisions SGBD Discussion :

Récupérer le premier enregistrement d'un attribut


Sujet :

Décisions SGBD

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 45
    Points : 36
    Points
    36
    Par défaut Récupérer le premier enregistrement d'un attribut
    Bonjour bonjour,
    Une petite question se pose à moi, sans que je ne puis y répondre:
    Je voudrais récupérer parmi des enregistrements d'une table, un seul enregistrement pour un même attribut, Je m'explique:

    Je voudrais récupérer dans une table d'erreurs, une seule erreur pour un élément, la clé dee la table ERREUR est Id_Erreur, et si je fais un SELECT DISTINCT Id_Erreur, Id_Element... ca ne marche donc pas.

    Je ne sais pas comment m'y prendre... Merci d'avance à ceux qui pourront me sortir de l'ignorance...

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 901
    Points : 6 026
    Points
    6 026
    Par défaut
    avec un WHERE (=condition de sélection) ça marchera mieux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT id_Erreur, id_Element
     FROM ERREUR
    WHERE id_Erreur='tavaleuràchercher';
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 45
    Points : 36
    Points
    36
    Par défaut
    En fait, c'est pas vraiment ce que je cherche à faire,
    Je voudrais récupérer de ma table ERREUR toutes les erreurs qui correspondant à des éléments différents.
    C'est comme si je voulais ne garder qu'une erreur par élément, mais vu que la clé est Id_Erreur, je ne peux pas utiliser distinct.

    Ce que j'aimerais faire c'est faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT Id_Element FROM ELEMENT
    Et ensuite récupérer pour chacun des enregistrements du select , l'erreur associée...

  4. #4
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 901
    Points : 6 026
    Points
    6 026
    Par défaut
    Ah....

    Alors:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT id_Erreur, id_Element 
     FROM ERREUR 
    WHERE id_Element IN (
       SELECT DISTINCT Id_Element FROM ELEMENT) ;
    Mais ce post serait mieux dans le forum SQL.....
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  5. #5
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT min(id_Erreur), id_Element 
     FROM ERREUR 
    groub by id_Element
    Min(), car il passe dans la plupart des SGBDR, mais vous pourriez aussi appeler MAX(), DFIRST() ... selon le SGBDR que vous utilisez.
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

Discussions similaires

  1. Récupérer seulement le premier enregistrement
    Par Mister Nono dans le forum Hibernate
    Réponses: 2
    Dernier message: 21/08/2014, 15h56
  2. [MySQL] Récupérer le dernier enregistrement?
    Par tochbee dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 25/11/2005, 20h29
  3. Prendre que les 5 premiers enregistrements (les + important)
    Par __fabrice dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 02/11/2005, 09h24
  4. comment récupérer les x premiers enregistrements
    Par laurent82 dans le forum SQL
    Réponses: 7
    Dernier message: 12/12/2004, 16h29
  5. Réponses: 3
    Dernier message: 28/11/2003, 21h26

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