sql >> Database >  >> RDS >> Mysql

MySQL Left Join Subselect

Er is misschien een betere manier om dit te doen, en ik heb het niet getest in MySQL, maar het volgende werkt in SQL Server 2005:

Select a.language, b.template, count (c.template) as combo_count
from
(select distinct language from tablename) as a
inner join (select distinct template from tablename) as b on 1 < 2 /* this could be cross join, same thing. */
left outer join tablename c on c.language = a.language and c.template = b.template
group by a.language, b.template
order by 1, 2

Dit zijn de resultaten met uw voorbeeldgegevens:

au  t1  0
au  t2  1
au  t3  0
en  t1  3
en  t2  0
en  t3  0
ge  t1  0
ge  t2  1
ge  t3  2


  1. Toegang 2016 voor Dummies Cheatsheet

  2. MySQL &PHP decimale precisie verkeerd

  3. MySQL - CONCAT - Is er een manier om een ​​string samen te voegen en als variabele te gebruiken?

  4. MariaDB LOCALTIMESTAMP() uitgelegd