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 :

Récupérer tout ce qui n'est pas dans la base


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Récupérer tout ce qui n'est pas dans la base
    Bonjour,

    Je propose sur mon site (www.mon-avis.fr) des sondages, où les membres peuvent proposer des sondages et répondre à ceux existants déjà.

    Pour cela, 3 tables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sond_questions(id, id_cat, id_membre, texte, date_ajout)
    sond_reponses(id, id_q, texte, reponses)
    sond_participations(id_membre, id_q, id_r, date_reponse)
    Le champ "reponses" correspond au nombre de reponses données pour l'enregistrement associé

    Devant le nombre de sondages croissants et du fait que tout le monde n'utilise pas le flux RSS disponible pour savoir quand un sondage est rajouté, je souhaite proposer dans l'espace membre une page dédiée au listing de tous les sondages NON REPONDUS par le membre logué.

    Et je vous avouerai que j'ai eu beau chercher, je ne trouve rien de bien concret pour me sortir (en une requête si possible) les résultats souhaités...

    Si quelqu'un voulait bien éclairer ma lanterne, merci d'avance :-)

  2. #2
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    Salut,

    Ceci fait-il l'affaire ? (MySQL >= 4.1)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT q.id
    FROM sond_questions q
    WHERE (idMembreLoggé, q.id) NOT IN
      ( SELECT p.id_membre, p.id_q
        FROM sond_participations p
       )
    Si tu as MySQL < 4.1 ou que tu veux optimiser ça, il va falloir opter pour une jointure externe gauche au lieu du NOT IN + SELECT.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Wow merci

    Ca marche du tonnerre !! (j'ai bien MySQL > 4.1)

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 22/06/2011, 16h19
  2. [MySQL] Jointure: récupérer joueur qui n'est pas dans l'autre table
    Par Snipy dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/10/2010, 15h07
  3. ouvrir une image .JPG qui n'est pas dans la base
    Par merocean dans le forum Requêtes et SQL.
    Réponses: 19
    Dernier message: 12/02/2009, 21h22
  4. Importer un .py qui n'est pas dans le rep courant
    Par Mr Hyde dans le forum Général Python
    Réponses: 5
    Dernier message: 25/08/2005, 17h30
  5. LIKE de tout ce qui n'est pas compris entre a<-&
    Par DjinnS dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/07/2003, 13h09

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