J'ai trois tables (deb
, dos
, char
) et je suis à la recherche d'une requête SQL pour obtenir la table result
comme indiqué ci-après:Comment joindre plusieurs tables en une avec MySQL?
table: deb
+----+-------------+--------+
| id | label | dos_id |
+----+-------------+--------+
| 1 | right | 1 |
| 2 | left | 2 |
+----+-------------+--------+
table:char
+----+-------------+--------+
| id | name | dos_id |
+----+-------------+--------+
| 1 | jack | 1 |
| 2 | thaw | 1 |
| 3 | lbaz | 2 |
| 4 | amar | 3 |
+----+-------------+--------+
table:dos
+----+-------------+
| id | color |
+----+-------------+
| 1 | black |
| 2 | white |
+----+-------------+
result table
+----+-------------+--------+
| id | color | value |
+----+-------------+--------+
| 1 | black | right |
| 1 | black | jack |
| 1 | black | thaw |
| 2 | white | left |
| 2 | white | lbaz |
| 2 | white | amar |
+----+-------------+--------+
J'ai essayé rejoignant gauche et à droite, mais il n » t travail.
Ce que je cherche, c'est que pour chaque ligne dos
, je reçois les valeurs correspondantes char
et deb
dans une autre colonne.
Peut-être que faire une rangée sélectionner une requête dans un pourrait aider. Je ne sais pas.
S'il vous plaît aidez-moi et merci.
i obtenu ce « 1248 - Chaque table dérivée doit avoir son propre alias » et ceci est ma requête SELECT * FROM ( SELECT dos.id AS id, dos.date_facture AS facture, deb.libelle AS LBL DE jos_tktransit_dossier AS dos INNER JOIN jos_tktransit_deboure AS deb SUR dos.id = deb .id_dossier UNION SELECT dos.id AS id, dos.date_facture AS facture, charg.nom_charge AS nom DE jos_tktransit_dossier AS dos INNER JOIN jos_tktransit_charge_assistance AS charg SUR dos.id = charg.id_dossier ) –
que wont travail parce que vous avez autre domaine noms dans les deux requêtes. Ils doivent être les mêmes. Dans mon exemple, les deux requêtes renvoient (id, color, value), mais les requêtes de votre commentaire renvoient (id, facture, lbl) et (id, facture, nom). lbl! = nom, donc l'UNION ne fonctionnera pas. – StevieG
merci mais y at-il une autre solution –