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

PHP & Base de données Discussion :

Requête multi-critère dans une table très simple


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 106
    Points : 82
    Points
    82
    Par défaut Requête multi-critère dans une table très simple
    Bonjour,

    J'ai une table très simple nommées posts_tag dans laquelle est contenue deux champs avec des ID

    post_id  tag_id
    1          10
    1          7
    1          9
    2          3
    2          9
    2          10
    3          9
    3          10
    Je voudrais pouvoir retourner mes posts ID uniquement si ma requête liste tous les posts avec les tags IDS.

    Voici ma requête :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM posts_tags WHERE tag_id IN (10, 9);

    Les post_id 1, 2 et 3 me seront retournés ;
    J'aimerais avoir juste le 3 qui est présent dans dans le tag_id 10 et 9.

    Peut-être faut-il que je revois la structure de ma table pour faire ce que je veux sinon comment puis-je bien faire ma requête ? Merci d'avance.

  2. #2
    Membre habitué

    Profil pro
    Pompier
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pompier

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 171
    Points
    171
    Par défaut
    C est pas claire ce que tu veux.
    Soit tu mets
    Soit
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    Where get -id=9 Or 10

    Désole pour l ecritage lol je suis sur mon smartphone
    En espérant t avoir aidé .

  3. #3
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    As tu essayé ça ?
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM posts_tags WHERE tag_id IN (10, 9) AND post_id = 3;

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bon si j'ai bien compris, tu cherches tous les post_id pour lesquels il y a un enregistrement avec tag_id = 9 ET un enregistrement avec tag_id = 10.
    C'est bien ça ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    oui mais en plus, si j'ai bien compris, avec le post_id = 3

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Euh non, je crois que le but c'est de trouver les valeurs de post_id qui correspondent au filtre sur tag_id. Mais j'ai pas bien compris le filtre en question...

    Parce que sinon, je vois pas trop l'intérêt de chercher en base les lignes pour lesquelles on connait toutes les données
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 621
    Points : 56 869
    Points
    56 869
    Billets dans le blog
    40
    Par défaut
    bonjour,

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT post_id FROM posts_tags
    WHERE tag_id IN (10, 9)
    GROUP BY post_id
    HAVING Count(*)=2

    si j'ai bien compris

Discussions similaires

  1. [AC-2003] Recherche multi-critère dans une même table
    Par Tadao dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 09/03/2010, 19h01
  2. Requête très longue sur une table très simple
    Par kragenskul dans le forum Requêtes
    Réponses: 6
    Dernier message: 16/06/2009, 14h28
  3. affecter les resultats d'une requête à un champs dans une table
    Par benoist.cardinal dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 05/09/2008, 21h00
  4. Réponses: 9
    Dernier message: 27/09/2007, 15h15
  5. Filtre multi-critères dans une base Paradox
    Par lohot dans le forum Bases de données
    Réponses: 10
    Dernier message: 10/02/2007, 22h54

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