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

Langage SQL Discussion :

problèmes requête


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 6
    Par défaut problèmes requête
    Bonjour,

    Voilà, je développe une application de ticketing.
    J'ai trois tables:
    tickets_1,tickets_2,tickets_3

    ces trois tables ont leurs propres champs, sauf un seul champ commun que jai appelé id_groupe_affecté.

    Je souhaiterais effectuer une requête sur ces trois tables avec toutes les trois en commun l'id du groupe affecté prend la valeur 3.

    Cependant un "select * from table1,table2,table3 where idgrpaffecté=3";
    me renvoit un column reference ambiguous.

    Cela est logique, du fait qu'aucune jointure n'est effectuée pour relier les tables.

    J'aimerais savoir si qqun peut me proposer une solution pour cette requête.

    Merci d'avance.
    Meilleurs voeux à tous

    ju

  2. #2
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Tu ne peux pas faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TABLE1.idgrpaffecté AS T1gr,TABLE2.idgrpaffecté AS T2gr,TABLE3.idgrpaffecté AS T3gr, FROM TABLE1,TABLE2,TABLE3 where TABLE1.idgrpaffecté=3 AND TABLE2.idgrpaffecté=3 AND TABLE3.idgrpaffecté=3

  3. #3
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Par défaut Re: problèmes requête
    Citation Envoyé par jkruska
    J'ai trois tables:
    tickets_1,tickets_2,tickets_3
    Et bien je n'aimerais pas passer derrière toi

    Pour le reste je ne suis pas certain d'avoir compris ton problème, éventuellement regarde du côté de l'UNION.

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 6
    Par défaut
    le probleme c'est que je passe déjà deriiere quelqu un monsieur le Médiat!
    C'est pas évident, et je pense que c'est peine perdue d'esssayer une requête sur 3 tables, enfin peut être quelqu un aura une solution

  5. #5
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Citation Envoyé par jkruska
    le probleme c'est que je passe déjà deriiere quelqu un monsieur le Médiat!
    C'est pas évident, et je pense que c'est peine perdue d'esssayer une requête sur 3 tables, enfin peut être quelqu un aura une solution
    Et ma solution ( bien que on est dans un cas catastrophique) ne marche pas ?

  6. #6
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Par défaut
    Citation Envoyé par jkruska
    le probleme c'est que je passe déjà deriiere quelqu un
    Et bien je n'aimerais pas passer derrière lui

    Citation Envoyé par jkruska
    C'est pas évident, et je pense que c'est peine perdue d'esssayer une requête sur 3 tables, enfin peut être quelqu un aura une solution
    As-tu regarder l'UNION ?
    Sinon, il faut que tu expliques mieux ton problème...

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 6
    Par défaut
    non hegros je l'avais déjà testé auparavant mais merci qd mm!

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 6
    Par défaut
    l'union je pense qu'il faut avoir des tables de même structure avec le mm nombre de champs or cela n'est pas le cas.
    Désolé, c'est vrai que ça n'est pas évident

  9. #9
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Citation Envoyé par jkruska
    non hegros je l'avais déjà testé auparavant mais merci qd mm!
    Tu as vu l'édition que j'ai fais, ca change quelque chose ?

  10. #10
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Par défaut
    Explique mieux ton problème, donne un exemple (simplifié) de que tu as dans les tables et ce que tu veux obtenir !

  11. #11
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 6
    Par défaut
    j' ai 3 tables:

    ticket_A;
    ticket_B;
    ticket_C;

    si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req="select * from ticket_A,ticket_B where ticket_A.groupe=ticket_B.groupe ";
    J'obtiens les tickets A et B qui ont le même groupe.

    Moi ce que je voudrais faire, c'est la même requête à part qu'il y a une table en plus, en l'occurence la table ticket_C.
    En définitive, plus explicitement une jointure sur 3 tables!
    J'espère avoir été plus clair

    Mais pour cela je pense que mes 3tables tickets doivent être identiques...

  12. #12
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 6
    Par défaut
    hegros ca ne change rien ton édition merci qd mm

  13. #13
    Membre expérimenté Avatar de souellet
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2003
    Messages : 155
    Par défaut
    Du genre...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * from ticket_A
    left outer join ticket_B on ticket_A.groupe=ticket_B.groupe=ticket_B.groupe
    left outer join ticket_C on ticket_A.groupe=ticket_C.groupe
    Dépendamment de la relation entre les tables, la condition de jointure peut changer.

  14. #14
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 273
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from table1, table2, table3 where groupe=3 and table1.groupe = table2.groupe and table2.groupe = table3.groupe
    marche pas ça ?

  15. #15
    Membre actif Avatar de blaiso
    Profil pro
    Banquier
    Inscrit en
    Décembre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Banquier

    Informations forums :
    Inscription : Décembre 2005
    Messages : 97
    Par défaut
    Citation Envoyé par marsupix
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from table1, table2, table3 where groupe=3 and table1.groupe = table2.groupe and table2.groupe = table3.groupe
    marche pas ça ?
    je vote pour ta solution marsupix, sauf qu'il faut indiquer la table dans laquelle le 3 sera recupérée, afin d'éviter l'ambiguité.
    je réécrierais ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from table1, table2, table3 where table1.groupe=3 and table1.groupe = table2.groupe and table2.groupe = table3.groupe
    ajout de l'indicatiopn de la table1 dans la condition where.


Discussions similaires

  1. Problème: Requête utilisant NOT IN
    Par fages dans le forum Langage SQL
    Réponses: 4
    Dernier message: 04/05/2004, 10h18
  2. erreur3073 Problème requête
    Par amel123456789 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 01/04/2004, 10h15
  3. Problème requête qui renvoie plusieurs
    Par dai.kaioh dans le forum Langage SQL
    Réponses: 6
    Dernier message: 01/04/2004, 10h07
  4. Problème requête avec UNION et ORDER BY
    Par Yann21 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 12/12/2003, 11h02
  5. Réponses: 8
    Dernier message: 23/10/2003, 16h22

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