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 sur plusieurs tables [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 17
    Points : 8
    Points
    8
    Par défaut requete sur plusieurs tables
    salut à tous,

    alors voila je bloque sur une requete portant sur deux tables

    table A
    colonne A1 A2 A3

    table B
    colonnes B1 B2 B3

    je voudrais qu'une association soit faite entre les données de la table A colonne A1 + A2 + A3 de meme ID , et les données des differentes ID de la table B.
    et que le résultat me sorte tous les B1 B2 B3 qui match

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $sql ="SELECT * FROM A,B  WHERE A.A1= B.B1
    AND A.A2=B.B1.......";
     
    /* dois-je faire une jointure sur toutes les tables ? ca me parait un peu lourd */
     
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
    while ($data = mysql_fetch_assoc($req)) {  
     
    echo '<strong>'.$data[''].'</strong><br />';
    Une idée ?

  2. #2
    Membre actif
    Homme Profil pro
    DSI interne
    Inscrit en
    Juin 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DSI interne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2011
    Messages : 197
    Points : 290
    Points
    290
    Par défaut
    Bonsoir mimi78, on se retrouves ,

    Si tu as besoin d'un peu d'aide pour tes jointures regarde par là : ICI.

    Ce devrais donner çà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql ="SELECT * 
    FROM table A
    INNER JOIN table B ON A.A1= B.B1";
    Évites toujours les SELECT *.
    "Beatus qui prodest quibus potest"

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Salut MinDBuSteR et merci pour ta réponse


    Alors voila le truc c'est que la requete porte sur plusieurs colonnes d'une meme table, est-il possible de faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    $sql ="SELECT * 
    FROM table A
    INNER JOIN table B ON A.A1= B.B1 AND A.A1=B.B2 AND A.A1=B.B3.....and choix= $post [choix]";
    En fait, j'ai besoin qu'il me compare toutes les colonnes d'une ID spécifique à la table A, disons A1 , a B.B1, B.B2, B.B3 etc, et qu'il me sorte toutes les lignes mais dès que je mets le AND ca ne me sort plus rien.

    Alors que ça marche quand je fais plusieurs requetes a la suite:

    $sql ="SELECT *
    FROM table A
    INNER JOIN table B ON A.A1= B.B1

    $sql ="SELECT *
    FROM table A
    INNER JOIN table B ON A.A1= B.B2

    $sql ="SELECT *
    FROM table A
    INNER JOIN table B ON A.A1= B.B3


    Une idée ?

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Ton besoin est un peu confus !

    Tu veux comparer les deux tables et extraire les lignes identiques ?
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT A.A1, A.A2, A.A3, A.A4
    FROM A
    INNER JOIN B
    	ON B.B1 = A.A1
    	AND B.B2 = A.A2
    	AND B.B3 = A.A3
    	AND B.B4 = A.A4

    Tu veux la même chose mais seulement pour une valeur de la colonne choix ?
    De quelle table la colonne choix ? On va supposer que c'est dans A.
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT A.A1, A.A2, A.A3, A.A4
    FROM A
    INNER JOIN B
    	ON B.B1 = A.A1
    	AND B.B2 = A.A2
    	AND B.B3 = A.A3
    	AND B.B4 = A.A4
    WHERE A.choix = :choix

    Si au lieu de l'abstraction A, B... tu nous donnais la vraie structure des tables, un petit jeu de données et le résultat attendu, ce serait plus facile de t'aider.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Hello,

    finalement j'ai résolu le problème en mettant une requete par page

    Merci aux intervenants =)

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

Discussions similaires

  1. Requete sur plusieurs tables
    Par lampre dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 09/02/2007, 17h26
  2. Réponses: 1
    Dernier message: 06/12/2006, 18h25
  3. Probleme de requete sur plusieurs tables
    Par Hitmaaan dans le forum Requêtes
    Réponses: 3
    Dernier message: 20/08/2006, 22h20
  4. [vb6]faire une requete sur plusieurs tables
    Par Henry9 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 23/07/2006, 02h06
  5. requete sur plusieurs tables
    Par manaboko dans le forum Requêtes
    Réponses: 6
    Dernier message: 13/12/2005, 17h07

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