Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

JOINTURE EXTERNE DE 03 TABLES

4 réponses
Avatar
MAJHAMM
Prière me preciser la sunytax de la requete SQL pour étabir une jointure
externe entre 03 tables (accès)

pour 02 tables s'a marche mais pour 3 tables je n'ai pas pu trouver la formule

merci d'avance

4 réponses

Avatar
jean-marc
"MAJHAMM" wrote in message
news:
Prière me preciser la sunytax de la requete SQL pour étabir une jointure
externe entre 03 tables (accès)

pour 02 tables s'a marche mais pour 3 tables je n'ai pas pu trouver la


formule

merci d'avance



DEFINITIONS
-----------
TA
pka
data_a

TB
pkb
fka
data_b

TC
pkc
fkb
data_c

TA_CONTENT
pka data_a
1 dataA1
2 dataA2
3 dataA3

TB_CONTENT
pkb fka data_b
1 1 dataB_1001
2 1 dataB_1002
3 2 dataB_2001
4 2 dataB_2002
5 3 dataB_3001
6 3 dataB_3002


TC_CONTENT
pkc fkb data_c
1 1 a
2 1 b
3 2 c
4 2 d
5 3 e
6 3 f
7 4 g
8 4 h
9 5 i
10 5 j
11 6 k
12 6 l

JOINTURE 3 TABLES
-----------------

SELECT TA.data_a, TB.data_b, TC.data_c
FROM (TA LEFT JOIN TB ON TA.pka = TB.fka) LEFT JOIN TC ON TB.pkb = TC.fkb;

Resultat :

data_a data_b data_c
dataA1 dataB_1002 d
dataA1 dataB_1002 c
dataA1 dataB_1001 b
dataA1 dataB_1001 a
dataA2 dataB_2002 h
dataA2 dataB_2002 g
dataA2 dataB_2001 f
dataA2 dataB_2001 e
dataA3 dataB_3002 l
dataA3 dataB_3002 k
dataA3 dataB_3001 j
dataA3 dataB_3001 i
Avatar
Gloops
Salut,

Dans l'index de MSDN j'ai cherché "JOIN", et à "JOIN keyword" ça m'a
répondu une page avec deux liens dont un vers "INNER JOIN operation".

Là-dedans, avant le dernier paragraphe je lis :

You can also nest JOIN statements using the following syntax:

SELECT fields
FROM table1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON table3.field3 compopr tablex.fieldx)]
ON table2.field2 compopr table3.field3)
ON table1.field1 compopr table2.field2;

ayant été précisé que compopr est l'opérateur de comparaison (ah ben
oui, comparison operator).

compopr Any relational comparison operator: "=," "<," ">," "<=," ">=,"
or "<>."

Ce n'est vraiment pas ça que tu cherches ?

Je ne te cache pas que les crochets autour des parenthèses ouvertes
m'intriguent beaucoup, cela étant la place des guillemets dans la
description du comparateur m'intrigue encore plus.
______________________________________
MAJHAMM a écrit, le 29/09/2005 10:39 :

Prière me preciser la sunytax de la requete SQL pour étabir une jointure
externe entre 03 tables (accès)

pour 02 tables s'a marche mais pour 3 tables je n'ai pas pu trouver la formule

merci d'avance


Avatar
Jean-Marc
Hello,

non ce n'est pas ça qu'il chercher car il a dit jointure "EXTERNE".
Inner join est une jointure interne. LEFT et RIGHT JOIN sont utilisées
pour les jointures externes.

voir par exemple ici, la différence est bien expliqué:
http://www.laltruiste.com/document.php?url=http://www.laltruiste.com/annexe/algebre_jointureexterne.html

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;


"Gloops" a écrit dans le message de
news:433f0c61$0$5386$
Salut,

Dans l'index de MSDN j'ai cherché "JOIN", et à "JOIN keyword" ça m'a
répondu une page avec deux liens dont un vers "INNER JOIN operation".

Là-dedans, avant le dernier paragraphe je lis :

You can also nest JOIN statements using the following syntax:

SELECT fields
FROM table1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON table3.field3 compopr tablex.fieldx)]
ON table2.field2 compopr table3.field3)
ON table1.field1 compopr table2.field2;

ayant été précisé que compopr est l'opérateur de comparaison (ah ben
oui, comparison operator).

compopr Any relational comparison operator: "=," "<," ">," "<=," ">=,"
or "<>."

Ce n'est vraiment pas ça que tu cherches ?

Je ne te cache pas que les crochets autour des parenthèses ouvertes
m'intriguent beaucoup, cela étant la place des guillemets dans la
description du comparateur m'intrigue encore plus.
______________________________________
MAJHAMM a écrit, le 29/09/2005 10:39 :

> Prière me preciser la sunytax de la requete SQL pour étabir une jointure
> externe entre 03 tables (accès)
>
> pour 02 tables s'a marche mais pour 3 tables je n'ai pas pu trouver la


formule
>
> merci d'avance



Avatar
Gloops
Effectivement, j'ai dégainé un peu vite.
Une recherche sur "OUTER JOIN" aurait été plus appropriée.
On y trouve plein de trucs, mais pas aussi lisibles que ce que tu dis.
________________________________________
Jean-Marc a écrit, le 02/10/2005 12:08 :

Hello,

non ce n'est pas ça qu'il chercher car il a dit jointure "EXTERNE".
Inner join est une jointure interne. LEFT et RIGHT JOIN sont utilisées
pour les jointures externes.

voir par exemple ici, la différence est bien expliqué:
http://www.laltruiste.com/document.php?url=http://www.laltruiste.com/annexe/algebre_jointureexterne.html



je crois bien qu'on voulait dire
ON Ra.B = Rb.E