Effectuer 2 INNER JOIN sur la même table
pythong
Messages postés
8
Statut
Membre
-
pythong Messages postés 8 Statut Membre -
pythong Messages postés 8 Statut Membre -
Bonjour,
Je souhaite effectuer deux INNER JOIN sur la même table mais à chaque fois le même message d'erreur revient :
- #1066 - Not unique table/alias: 'systeme'
Voici ma requête SQL :
- SELECT systeme.systeme, systeme.etat, maintenance.date, panne.heureDebut FROM systeme, maintenance, panne INNER JOIN systeme ON maintenance.idSysteme = systeme.idSysteme INNER JOIN systeme ON panne.idSysteme = systeme.idSysteme WHERE systeme.idCategorie=1
Mon but est de récupérer les champs systeme et etat de la table systeme, le champ date de la table maintenance et le champ heureDebut de la table panne afin de les afficher dans un tableau.
Merci d'avance pour votre aide,
pythong
Je souhaite effectuer deux INNER JOIN sur la même table mais à chaque fois le même message d'erreur revient :
- #1066 - Not unique table/alias: 'systeme'
Voici ma requête SQL :
- SELECT systeme.systeme, systeme.etat, maintenance.date, panne.heureDebut FROM systeme, maintenance, panne INNER JOIN systeme ON maintenance.idSysteme = systeme.idSysteme INNER JOIN systeme ON panne.idSysteme = systeme.idSysteme WHERE systeme.idCategorie=1
Mon but est de récupérer les champs systeme et etat de la table systeme, le champ date de la table maintenance et le champ heureDebut de la table panne afin de les afficher dans un tableau.
Merci d'avance pour votre aide,
pythong
A voir également:
- Effectuer 2 INNER JOIN sur la même table
- Supercopier 2 - Télécharger - Gestion de fichiers
- 2 ecran pc - Guide
- Gta 6 trailer 2 - Guide
- Faire 2 colonnes sur word - Guide
- Whatsapp avec 2 sim - Guide
3 réponses
Bonjour
Pour que SQL s'y retrouve entre toutes les occurrences de ta table 'systeme', il faut mettre des alias différents et utiliser ces alias pour qualifier les champs.
Pour que SQL s'y retrouve entre toutes les occurrences de ta table 'systeme', il faut mettre des alias différents et utiliser ces alias pour qualifier les champs.
En y regardant de plus près, je pense plutôt que tu as simplement mal écrit tes jointures et que tu n'avais pas à joindre plusieurs fois la même table.
Tu ne voulais pas plutôt faire :
Tu ne voulais pas plutôt faire :
SELECT systeme.systeme, systeme.etat, maintenance.date, panne.heureDebut FROM systeme INNER JOIN maintenance ON maintenance.idSysteme = systeme.idSysteme INNER JOIN panne ON panne.idSysteme = systeme.idSysteme WHERE systeme.idCategorie=1
Bonjour,
En effet j'avais inversé le nom des tables à joindre en mettant systeme au lieu de maintenance et panne.
Merci beaucoup pour votre aide.
J'ai une dernière question, avec cette requête pour qu'un systeme soit affiché il faut qu'il possède une maintenance ainsi qu'une panne. Un systeme ne possédant pas de panne n'est pas affiché. Aurait-il un moyen d'éviter cela ?
Merci encore pour votre aide,
pythong
En effet j'avais inversé le nom des tables à joindre en mettant systeme au lieu de maintenance et panne.
Merci beaucoup pour votre aide.
J'ai une dernière question, avec cette requête pour qu'un systeme soit affiché il faut qu'il possède une maintenance ainsi qu'une panne. Un systeme ne possédant pas de panne n'est pas affiché. Aurait-il un moyen d'éviter cela ?
Merci encore pour votre aide,
pythong
Merci pour votre réponse.
Cependant auriez-vous un exemple ?
Merci d'avance