Предполагая, что столбец medalColor
содержит такие значения, как 'Gold'
, 'Silver'
и 'Bronze'
, вы можете сделать это с помощью условного агрегирования:
select c.CountryName Land,
coalesce(t.Gold, 0) Goud,
coalesce(t.Silver, 0) Zilver,
coalesce(t.Bronze, 0) Brons
from country c
left join (
select CountryCode,
sum(medalColor = 'Gold') Gold,
sum(medalColor = 'Silver') Silver,
sum(medalColor = 'Bronze') Bronze
from medaille
group by CountryCode
) t on t.CountryCode = c.CountryCode
order by Goud desc, Zilver desc, Brons desc