Requete T-sql avec jointures

evan2008 Messages postés 3 Date d'inscription vendredi 6 mars 2009 Statut Membre Dernière intervention 21 octobre 2009 - 6 mars 2009 à 11:35
RogerioSoares Messages postés 1 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 10 mars 2009 - 10 mars 2009 à 14:33
bonjour,

j'ai un petit souci avec une requete t-sql

context : j'ai 4 tables :


livre : pk_livre, nom

livreVisuel : pk_livreVisuel, fk_Livre, fk_typeVisuel

typeVisuel : pk_typeVisuel

VisuelAuteur : pk_VisuelAuteur, fk_typeVisuel, pathAuteur


je voudrai faire une requete sur livre pour afficher les pathAuteur
correspondants à chaque Livre ( je pourrai avoir deux pathAuteur pour
un livre)


Requete :

select liv.pk_livre, liv.nom, visAut.pathAuteur from livre liv

INNER JOIN dbo.livreVisuel livVis ON livVis.fk_livre = liv.pk_livre

INNER JOIN dbo.typeVisuel typVis ON typVis.pk_typeVisuel = livVis.fk_typeVisuel

INNER JOIN dbo.VisuelAuteur VisAut ON VisAut.fk_typeVisuel = typVis.pk_typeVisuel


pb : le resultat de la requete est autant de ligne dans VisuelAuteur pour chaque livre.

2 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
6 mars 2009 à 18:52
"....le resultat de la requete est autant de ligne dans VisuelAuteur pour chaque livre...."
C'est ce que tu veux, non ?, tu dis bien
"...afficher les pathAuteur correspondants à chaque Livre ( je pourrai avoir deux pathAuteur pour un livre..."

Remarque :
Tu peux te passer de la jointure sur typeVisuel. Vu que tu retrouve la même clé fk_typeVisuel sur livreVisuel et sur visuelAuteur, tu peux les lier directement sans passer par typeVisuel.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
RogerioSoares Messages postés 1 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 10 mars 2009
10 mars 2009 à 14:33
Salut!

Tu peux utiliser la clause 'Distinct' après le 'Select' pour éviter l'affichage des doublons.
0
Rejoignez-nous