Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL - sélectionnez 3 tables avec la syntaxe de jointure gauche correcte

essayez ceci (sans utiliser de sous-requête )

SELECT  a.name, b.cars, count(c.id) as  number
FROM    users a 
            INNER JOIN data_tmp b
                on a.who = b.who
            LEFT JOIN data c
                on a.who = c.who AND
                   a.name = c.name
WHERE    a.who = 2 
GROUP BY a.name, b.cars

cela fonctionne sur différents serveurs :

SERVEUR MSSQL @ SQLFIDDLE
MYSQL @ SQLFIDDLE