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 MySQL Discussion :

Ne pas retourner le 1er enregistrement d'une liste


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 22
    Points : 22
    Points
    22
    Par défaut Ne pas retourner le 1er enregistrement d'une liste
    Bonjour,

    J'utilise la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM adresses a JOIN familles f ON a.idAdr = f.idAdr 
    WHERE f.idAdh = $idAdh
    qui me retourne n enregistrements lesquels sont affichés en php grâce a une boucle while.

    En fait, j'aimerai que MySQL me retourne tous les enregistrements concernés par cette requête sauf le premier. Est-ce possible et si oui comment ?

    Merci pour vos réponses

  2. #2
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    C'est très simpliste comme idée mais n'y aurait-il pas moyen d'ajouter un


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE cle NOT LIKE 'cle_1er_entrée'
    et de faire avant ta requête une première requête afin de connaître cette clé?


    Jasmine,

  3. #3
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 911
    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 911
    Points : 6 032
    Points
    6 032
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT .....
    LIMIT 0,18446744073709551615
    comme indiqué ici http://dev.mysql.com/doc/refman/5.0/fr/select.html

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 22
    Points : 22
    Points
    22
    Par défaut
    Merci Jasmine de t'intéresser à ma demande.
    J'ai peur de ne pas très bien comprendre ce que tu veux dire. En fait, tu ferais une première requete pour connaître, par exemple, l'identifiant de chaque ligne retournée :
    "SELECT idFam FROM familles WHERE idAdh = $idAdh GROUP BY idAdh"
    ce qui a pour effet de ne retourner que le premier enregistrement pour un idAdh donné. On met l'id de cet enregistrement dans une variable $enregistrement.
    Puis tu écrirais :
    "SELECT * FROM adresses a JOIN familles f ON a.idAdr = f.idAdr WHERE f.idAdh = $idAdh AND idFam NOT LIKE $enregistrement".

    Ai-je bien compris ? C'est vrai que c'est simple (pas forcément simpliste) et je vais de ce pas le tenter. Cependant, on appelle deux fois la base et cela est peut-être pénalisant en terme de performances. Une instruction SQL dans une seule requête, si cela est possible, sera sans doute plus rapide.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 22
    Points : 22
    Points
    22
    Par défaut
    Merci gi130

    Que n'y ai-je pensé plus tôt ?

  6. #6
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Je suis contente que le problème soit résolu.
    Oui, tu as bien compris ce que je proposais mais c'est vrai que ça nécessite deux requêtes.
    Je débute en MySQL c'est vraiment chouette ce forum, j'en apprends tous les jours.

    Bonne continuation.

    Jasmine,

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

Discussions similaires

  1. (débutant) lister le 1er enregistrement d'une table
    Par superseba888 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 06/01/2011, 15h12
  2. Obtenir chaque 1er enregistrement d'une clé secondaire
    Par Sylvain245 dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/03/2010, 15h49
  3. Réponses: 6
    Dernier message: 25/03/2008, 15h32
  4. Retourner le 1er élément d'une liste box
    Par soso78 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 16/03/2007, 20h46
  5. Réponses: 2
    Dernier message: 16/10/2004, 14h33

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