ऐसा करने का एक बेहतर तरीका हो सकता है, और मैंने इसे MySQL में परीक्षण नहीं किया है, लेकिन SQL सर्वर 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
आपके नमूना डेटा के परिणाम यहां दिए गए हैं:
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