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 :

Requetes sur relation n:1


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 22
    Points : 10
    Points
    10
    Par défaut Requetes sur relation n:1
    J'ai deux tables :

    Table Films
    Id Film Acteur1 Acteur2
    1 La cité de la peur 3
    2 La grande vadrouille 1 2
    3 Le corniaud 1 2

    et Table Acteurs
    Id Acteur
    1 Louis de Funes
    2 Bourvil
    3 Alain Chabat

    Comme vous l'aurez compris, je voudrais pouvoir obtenir
    1 La cité de la peur Alain Chabat
    2 La grande vadrouille Louis de Funes Bourvil
    3 Le corniaud Louis de Funes Bourvil

    Comment je peux gerer ca ?
    je ne peux absoluement pas changer les bases de donnees, ni en creer un nouvelle.

    C'est vraiment urgent et important
    Merci merci

  2. #2
    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
    Points : 2 227
    Points
    2 227
    Par défaut
    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT f.id, f.film, a1.Acteur, a2.Acteur
    FROM Films f LEFT OUTER JOIN Acteurs a1 on f.acteur1 = a1.id
                 LEFT OUTER JOIN Acteurs a2 on f.acteur2 = a2.id
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 22
    Points : 10
    Points
    10
    Par défaut
    a quoi correspond a1 et a2 ?

  4. #4
    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
    Points : 2 227
    Points
    2 227
    Par défaut
    Ce sont deux alias différents de la table Acteur, il en faut bien deux puisque tu peux avoir 2 acteurs.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 22
    Points : 10
    Points
    10
    Par défaut
    ok ok, je comprend
    j'avais pense a quelques chose comme ca mais je n'y arrivais pas
    par contre, j'ai essaye ta commande (suis sous Access) et il trouve une erreur de syntaxe. Je vais revoir tout ca pour essayer de trouver, mais si tu sais d'ou ca vient, ca serai cool

  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
    Points : 2 227
    Points
    2 227
    Par défaut
    Est-ce que t version d'ACCESS accepte les LEFT OUTER JOIN ?

    Faut-il déclarer les alias avec "AS" (FROM Films AS f ...)
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 22
    Points : 10
    Points
    10
    Par défaut
    je sais pas si ma verson accepte les left outer join. Je sais qu'elle accepte les left join.
    J'ai essaye les alias avec AS, mais fonctionne pas. C'est normal qu'il y ai aucun operateur entre les deux jointures ? je dois pas ajouter de AND, OR, parenthese ou autres ?
    Pour info, j'ai MS Acces 2002 sp3 ?

  8. #8
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 22
    Points : 10
    Points
    10
    Par défaut
    ah oui, l'erreur que j'ai c'est :
    syntax error (operator missing)in query expression : 'f.acteur1 = a1.id
    LEFT OUTER JOIN Acteurs as a2 on f.acteur2 = a2.id'

  9. #9
    Membre éclairé
    Avatar de Edouard Kaiser
    Profil pro
    Inscrit en
    Février 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2004
    Messages : 521
    Points : 756
    Points
    756
    Par défaut
    ou cela non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT f.Id, film, a1, a2
    FROM Films f, Acteurs a
    WHERE f.Acteur1 = a.Id
    AND f.Acteur2 = a.Id

  10. #10
    Membre expert
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Points : 3 103
    Points
    3 103
    Par défaut
    Bonjour,
    Essaies ca.
    Avec access il faut que tu joignes le s/ensemble correspondant à ta 1ere rq avec le second s/ensemble (et pas ta table avec la 2nde rq)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select f.id, f.film, a1.acteur, a2.acteur
    from ( films f
    inner join acteurs a1
    on f.acteur1 = a1.id)
    left outer join acteurs a2
    on f.acteur2 = a2.id
    A +

  11. #11
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 22
    Points : 10
    Points
    10
    Par défaut
    yeeeeeeees
    merci merci merci
    j'ai pas tout compris mais j'ai la requete. Vais essayer de l'analyser
    Merci encore

Discussions similaires

  1. [2.x] Requete sur un champ relation O2O
    Par SAmpistaroy dans le forum Symfony
    Réponses: 2
    Dernier message: 04/07/2013, 16h45
  2. Réponses: 3
    Dernier message: 06/07/2004, 10h21
  3. Réponses: 3
    Dernier message: 17/05/2004, 17h28
  4. requete sur un dossier
    Par vedder dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/03/2004, 14h05
  5. [MS-SQL]requete sur 3 tables
    Par pascalT dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 30/04/2003, 11h24

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