2010-10-06 6 views
0

table1MYSQL se joindre à 2 tables

ID | NAME 
1 | a 
2 | b 
3 | c 
4 | d 

TABLEAU2

ID | TBL1_ID | NAME 
1 | 2  | x  
2 | 2  | y 
3 | 2  | z 

Je voudrais joindre deux tables pour obtenir tous les enregistrements de la table 1 et tous les documents joints à partir du tableau 2 sur ID

Cette requête renvoie uniquement toutes les lignes de 1 table et 1 ligne de la deuxième table.

SELECT a.*, COUNT(a.id) total FROM table1 a 
    LEFT JOIN table2 b ON a.id = b.tbl1_id  
    GROUP BY a.id 
    ORDER BY a.id DESC 

Merci.

Répondre

1
SELECT * total FROM table1 a 
    left JOIN table2 b ON a.id = b.tbl1_id 
1

Si vous devez joindre les deux tables et montrer tous les champs sur les lignes correspondant à cela devrait fonctionner:

SELECT * FROM table1 a 
    LEFT JOIN table2 b ON(a.id = b.tbl1_id) 
+0

Vous ne pouvez pas utiliser 'using' ici comme la colonne de jointure dans la deuxième table est' tbl1_id'. –

+0

Merci. Tu as raison. J'ai corrigé ça. –

+0

Souhaiterait-il joindre toutes les lignes de la table2? – miojamo