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 :

Requete


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 127
    Par défaut Requete
    Hello

    j'ai une table catégorie (id_cat, nom_cat), une table document (id_doc, nom_doc) et une table de liason entre les deux car c'est une liaison nm.

    Comment faire pour récupérer les document qui font partie de la catégorie 1 ET de la catégorie 2

    J'ai essayé avec id_cat IN (1,2) mais ca fait un OU et pas un ET...

    Merci et dsl si la question est simple

  2. #2
    Membre chevronné Avatar de dj-julio
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 745
    Par défaut
    tu fais

    SELECT document.nom_doc FROM document, Table_Liaison WHERE document.id_doc=Table_Liaison.id_document

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 127
    Par défaut
    Oui merci mais c'est justement ce qu'il y a apres qui m'interesse

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 109
    Par défaut
    avec cette requete il remonte meme ceux qui ne sont pas la cat 1 ET de la cat 2.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT document.nom_doc FROM document, Table_Liaison WHERE document.id_doc=Table_Liaison.id_document
    id_cat, nom_cat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT document.nom_doc 
    FROM document, Table_Liaison 
    WHERE document.id_doc=Table_Liaison.id_document 
    AND Table_Liaison.id_cat in 
    (SELECT id_cat FROM catégorie WHERE nom_cat = 1 )
    AND Table_Liaison.id_cat in 
    (SELECT id_cat FROM catégorie WHERE nom_cat = 2 )
    Cette requete n'est pas du tout optimisee !
    il faudrait utilise UNION ou un truc du genre.. il faut poser la question sur un forum specialise en SQL... ici c'est PHP.

  5. #5
    Membre chevronné Avatar de XtofRoland
    Profil pro
    Inscrit en
    Août 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 357
    Par défaut
    SELECT document.nom_doc FROM document,(
    select * from Table_Liaison where id_cat=1 or id_cat=2
    group by id_doc having count (id_doc) = 2) lia
    WHERE document.id_doc=Lia.id_document

    a tester.
    post a deplacer ds le forum SQL!

Discussions similaires

  1. requete avec OBCD et visual c++
    Par Anonymous dans le forum MFC
    Réponses: 12
    Dernier message: 18/11/2004, 16h15
  2. Requete requête sous sybase
    Par eddie dans le forum Sybase
    Réponses: 3
    Dernier message: 02/04/2003, 14h51
  3. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24
  4. Resultat requete SQL
    Par PierDIDI dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2002, 13h43
  5. [Kylix] Requetes Kylix pour postgres
    Par Miltown dans le forum EDI
    Réponses: 1
    Dernier message: 29/05/2002, 20h22

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