Relier trois tables ...
Résolu
YY
-
YY -
YY -
Bonjour,
Dans ma base j'ai trois tables : PIECE, SOUS_PIECE, et PLAN.
J'ai des jointures entre PIECE et SOUS_PIECE. SOUS_PIECE et PLAN, PLAN et PIECE.
Quand je fais un select j'obtiens bien toutes les données (entre deux tables a chaque fois). Par contre si jessaye de selectionner les données des trois tables réunies, ca ne me renvoie rien. Je ne comprends pas pourquoi...
Merci d'avance pour votre aide
YY
Dans ma base j'ai trois tables : PIECE, SOUS_PIECE, et PLAN.
J'ai des jointures entre PIECE et SOUS_PIECE. SOUS_PIECE et PLAN, PLAN et PIECE.
Quand je fais un select j'obtiens bien toutes les données (entre deux tables a chaque fois). Par contre si jessaye de selectionner les données des trois tables réunies, ca ne me renvoie rien. Je ne comprends pas pourquoi...
Merci d'avance pour votre aide
YY
A voir également:
- Relier trois tables ...
- Tables des matières word - Guide
- Tables ascii - Guide
- Voici trois pannes que l’on peut rencontrer au démarrage d’un ordinateur : - Guide
- Relier 2 pc portable hdmi ✓ - Forum PC portable
- Couper une photo en trois pour instagram - Guide
2 réponses
Bonjour,
Voici ma requête :
que j'essaie d'executer mais sans aucune valeur de retour...
Merci
Voici ma requête :
SELECT [PLAN].NoPlan, SOUS_PIECE.id_SP, PIECE.NoSerie
FROM [PLAN] INNER JOIN
PIECE ON [PLAN].NoPlan = PIECE.NoPlan INNER JOIN
SOUS_PIECE ON PIECE.NoSerie = SOUS_PIECE.idPiece AND [PLAN].NoPlan = SOUS_PIECE.NoPlanSP
que j'essaie d'executer mais sans aucune valeur de retour...
Merci
Ah oui ce n'est pas suppôrté par SQLSERVER...
Bon bah à l'ancienne...
SELECT ...
FROM piece, sous_piece, plan
WHERE plan.noplan = piece.noplan
AND piece.noserie = sous_piece.id[.....]
Ah merde, je viens de voir l'erreur... Il faut que les colonnes contiennes le mêmes mêmes valeur pour que la jointure soit faite...
Par exemple, dans Piece vous avez dans la colonne idpiece : 1234, 4567
Si dans sous piece vous n'avez que 1234, seule la ligne avec 1234 apparaitra ;)
Et comme je vous que vos colonne n'ont pas les mêmes nom dans les tables, cette condition n'est probablement pas respecté, si ?
Bon bah à l'ancienne...
SELECT ...
FROM piece, sous_piece, plan
WHERE plan.noplan = piece.noplan
AND piece.noserie = sous_piece.id[.....]
Ah merde, je viens de voir l'erreur... Il faut que les colonnes contiennes le mêmes mêmes valeur pour que la jointure soit faite...
Par exemple, dans Piece vous avez dans la colonne idpiece : 1234, 4567
Si dans sous piece vous n'avez que 1234, seule la ligne avec 1234 apparaitra ;)
Et comme je vous que vos colonne n'ont pas les mêmes nom dans les tables, cette condition n'est probablement pas respecté, si ?
Pourtant je crois bien que oui ...
Si je requete entre piece et sous_piece : j'obtiens bien id_Sp=1047 et NoSerie=00001
SI je requete entre piece et plan : j'obtiens bien NoSerie=00001 et NoPlan=12345
Maintenant si je requete entre sous_piece et plan : NoPlan=12345 et id_SP=1047.
Donc a priori tout se recoupe bien. Par contre si je requete les trois tables a la fois je n'obtiens rien du tout....
Est il nécessaire que je garde une entité Plan ?
Si je requete entre piece et sous_piece : j'obtiens bien id_Sp=1047 et NoSerie=00001
SI je requete entre piece et plan : j'obtiens bien NoSerie=00001 et NoPlan=12345
Maintenant si je requete entre sous_piece et plan : NoPlan=12345 et id_SP=1047.
Donc a priori tout se recoupe bien. Par contre si je requete les trois tables a la fois je n'obtiens rien du tout....
Est il nécessaire que je garde une entité Plan ?