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 :

Problème avec une jointure


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 222
    Points : 121
    Points
    121
    Par défaut Problème avec une jointure
    Bonjour,
    J'ai 2 tables une `societe` et une `ville` que je veux joindre via les champs ville.id et societe.villesoc qui sont équivalents afin de trouver un résultat correspondant à une égalité sur un champ de chaque table.
    J'ai cette requête qui ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT societe.soc, societe.socrew, societe.descsoc, societe.villesoc, societe.zipsoc, ville.idville 
    FROM societe 
    INNER JOIN ville ON societe.villesoc=ville.idville 
    WHERE ville.ville='$ville' and societe.key='$key' 
    LIMIT 0,20
    Avez vous une idée de ce qui cloche dans cette requête ?
    Faites votre veille sur Les métiers du web.

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    SAluton,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT societe.soc, 
           societe.socrew,
           societe.descsoc,
           societe.villesoc,
           societe.zipsoc,
           ville.idville 
    FROM societe 
    INNER JOIN ville 
    ON societe.villesoc=ville.idville 
    WHERE ville.ville='$ville' 
    AND societe.KEY=$key 
    LIMIT 0,20
    Je ne vois rien qui cloche, si ce n'est que si KEY est numérique il ne faut pas le mettre entre quotes .
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 222
    Points : 121
    Points
    121
    Par défaut
    Non key est un mot clé alors je mets un bout de code j'ai peut e^tre fait une erreur bête.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $ville=$_GET['ville'];
    $key=$_GET['key'];
    $reqsel="SELECT societe.soc, societe.socrew,societe.descsoc,societe.villesoc,societe.zipsoc,ville.idville FROM societe INNER JOIN ville ON societe.villesoc=ville.idville WHERE ville.ville='$ville' and societe.key='$key' LIMIT 0,20";
    echo $reqsel;
    $querysel=mysql_query($reqsel) or die (mysql_error());
    while($datasel=mysql_fetch_assoc($querysel)){echo 'toto';
    	$resultat.=$datasel['soc'].'/n'.$data['descsoc'].'/n'.$data['villesoc'].'('.$data['zip'].')/n';
    }
    echo $resultat;
    Si ça vous parle plus. (à force d'avoir le nez dessus je ne vois plus rien )
    Faites votre veille sur Les métiers du web.

  4. #4
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    C'est ce qu'affiche çaqu'il te faut tester directement dans PMA
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 222
    Points : 121
    Points
    121
    Par défaut
    il ne trouve rien j'avais déjà testé, pourtant j'ai bien le nom de la ville que je cherche qui correspond à la ligne de ma bdd ou il y a le mot clé correspondant.(avec les id de ville identiques)

    Voilà ce que j'ai dans mes tables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    -- 
    -- Structure de la table `societe`
    -- 
     
    CREATE TABLE `societe` (
      `idsoc` int(11) NOT NULL auto_increment,
      `soc` varchar(80) NOT NULL,
      `socrew` varchar(80) NOT NULL,
      `key` varchar(80) NOT NULL,
      `descsoc` varchar(250) NOT NULL,
      `telsoc` varchar(30) NOT NULL,
      `faxsoc` varchar(30) NOT NULL,
      `horsoc` varchar(150) NOT NULL,
      `adresse` varchar(150) NOT NULL,
      `zipsoc` varchar(15) NOT NULL,
      `villesoc` int(11) NOT NULL,
      `mailsoc` varchar(150) NOT NULL,
      `websoc` varchar(150) NOT NULL,
      `valsoc` smallint(1) NOT NULL,
      PRIMARY KEY  (`idsoc`),
      KEY `villesoc` (`villesoc`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
     
    -- 
    -- Contenu de la table `societe`
    -- 
     
    INSERT INTO `societe` (`idsoc`, `soc`, `socrew`, `key`, `descsoc`, `telsoc`, `faxsoc`, `horsoc`, `adresse`, `zipsoc`, `villesoc`, `mailsoc`, `websoc`, `valsoc`) VALUES 
    (1, 'toto', 'toto', 'plombier', 'desfkjzebgz', '0606060606', '0606060606', 'mlkrhe', 'rekh,etjhek', '64460', 1, 'toto@hotmail.com', 'http://www.toto.com', 1);
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `ville`
    -- 
     
    CREATE TABLE `ville` (
      `idville` int(11) NOT NULL auto_increment,
      `ville` varchar(100) NOT NULL,
      `lat` float NOT NULL,
      `long` float NOT NULL,
      `zip` varchar(15) NOT NULL,
      PRIMARY KEY  (`idville`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
     
    -- 
    -- Contenu de la table `ville`
    -- 
     
    INSERT INTO `ville` (`idville`, `ville`, `lat`, `long`, `zip`) VALUES 
    (1, ' aast ', 43.2833, -0.083333, '64460'),
    (2, ' Abainville ', 48.5333, 5.5, '55130');
    Faites votre veille sur Les métiers du web.

  6. #6
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    KEY étant un mot-clé MySQL, mets-le entre ALT-GR + 7
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 222
    Points : 121
    Points
    121
    Par défaut
    Cela ne change rien, j'ai essayer d'enlever aussi tous se qui n'est pas essentiel dans la requête ( mis un * à la place des champs pour éviter les erreur ou omissions et viré le limit) mais ça ne change rien (je ne trouve rien en passant pas phpmyadmin )
    Je suis sur que c'est un truc tout bête qui est juste devant notre nez c'est ça le pire
    Faites votre veille sur Les métiers du web.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 222
    Points : 121
    Points
    121
    Par défaut
    C'est bon en fait j'ai changé le nom du champ dans la bdd et dans la requête est cela fonctionne maintenant.
    Merci pour ton aide Maljuna Kris
    Faites votre veille sur Les métiers du web.

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

Discussions similaires

  1. [BO XIR2] Problème avec une jointure externe
    Par Fouinto dans le forum Designer
    Réponses: 6
    Dernier message: 13/01/2011, 17h19
  2. [MySQL] Problème avec une jointure
    Par student_php dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/11/2010, 13h34
  3. [MySQL] Problème avec une jointure
    Par worldhugo dans le forum PHP & Base de données
    Réponses: 19
    Dernier message: 08/07/2009, 13h16
  4. problème avec une requête imbriquée
    Par jaimepasteevy dans le forum Langage SQL
    Réponses: 13
    Dernier message: 05/12/2003, 10h29
  5. Problème avec une procédure stockée
    Par in dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/05/2003, 15h33

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