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

Informix Discussion :

Syntaxe jointure informix ?


Sujet :

Informix

  1. #1
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut Syntaxe jointure informix ?
    Je ne comprends pas pourquoi ceci ne fonctionne pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    $requete = ifx_query('select id, truc, muche, bidule, machin,toto,tata,tonton 
    from table1 inner join table2 
    on table1.truc=table2.truc 
    where id="'.$id.'"', $conn_id);
    ?>
    Parmi la dizaine de choses que j'ai essayées, ce code ne marche pas.

    Précisons que id, muche, bidule et machin sont les champs spécifiques de table1. Toto,tata, tonton sont les champs spécifiques de table 2. Et truc le champ commun...

    L'erreur sql donne ceci :

    (E [SQLSTATE=42 000 SQLCODE=-201])

    Merci d'éclairer ma lanterne sur ce coup...
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    As-tu testé ta requête hors de ton programme ?

    Je ne connais pas spécifiquement Informix mais la norme SQL précise que les chaines de caractères doivent être encadrées de guillemets simples ' et non doubles "
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Merci de l'info...

    Mais ce n'est pas cela qui coince. La commande qui appelle juste tous les champs d'un enregistrement via le id sur la première table fonctionne...

    C'est vraiment le inner join, left join, pas de formule join, bref la syntaxe pour lier mes tables via leur champ commun qui me posent problème...

    J'ai l'impression d'avoir tout essayé !
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Reste la solution de la jointure "à l'ancienne"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select id, truc, muche, bidule, machin,toto,tata,tonton 
    from table1, table2 
    where id="'.$id.'"'
    and table1.truc=table2.truc
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Je viens de tester (en fait j'avais commencé par là...)

    Message d'erreur suivant :

    Je note que le code de l'erreur a changé... On progresse ! (mais je sais pas si c'est dans le bon sens)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Warning: ifx_query(): Prepare fails (E [SQLSTATE=IX 000 SQLCODE=-324]) 
    Warning: printf(): Too few arguments
    PS : tu me confirmes qu'en sql informix comme dans les autres la casse des champs n'a pas d'importance ?
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  6. #6
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Bon, mon problème n'était pas celui d'une syntaxe sql, finalement.

    Il est résolu et c'est juste que les références sur papier descriptives de la base ne mentionnaient pas que le champ de jointure n'avait pas le même nom sur les 2 tables...

    La formule qui "marche" est donc bien celle-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT id, truc, trac, muche, bidule, machin,toto,tata,tonton 
    FROM table1, table2 
    WHERE id="'.$id.'"'
    and table1.truc=table2.trac
    D'après une collègue calée en informix ceci dit, j'ai appris à cette occasion qu'il n'y a ni "inner join" ni "left join" dans la syntaxe informix. (Enfin la version d'informix que nous utilisons au boulot). Et qu'il y a un outer join qui s'écrit "outer"...

    Voili, merci de ton aide et à bientôt.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

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

Discussions similaires

  1. problèmes de syntaxe jointure de 3 tables
    Par mikoukoumi dans le forum Requêtes
    Réponses: 4
    Dernier message: 27/05/2011, 14h56
  2. Syntaxe jointure externe
    Par the java lover dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 12/06/2008, 10h36
  3. Réponses: 3
    Dernier message: 31/03/2006, 08h47
  4. syntaxe requette jointure
    Par sakini dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/01/2006, 19h11
  5. Réponses: 2
    Dernier message: 08/03/2004, 15h10

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