sql >> Databáze >  >> RDS >> Mysql

Vyberte hráče s pevným počtem trofejí a bodů

Pro bezpečnější výsledek zabalte všechny aktuální dotazy do poddotazu.

SELECT p.id, p.name, p.surname, 
        IFNULL(trop.trophy_count, 0),
        IFNULL(pts.points, 0)
FROM dbo.Players p
    LEFT JOIN 
    (
        select p.id, count(t.player_id) as trophy_count
        from dbo.Players p 
                left join Trophies t  on t.player_id=p.id
        group by p.id
    ) trop ON p.id = trop.id
    LEFT JOIN
    (
        select p.id,sum(points) as points
        from dbo.Players p
            inner join dbo.Stats s on s.player_id = p.id    
        group by p.id
    ) pts ON p.id = pts.id


  1. JDBC vrací prázdnou sadu výsledků

  2. Ukládejte velké soubory JSON do databáze Oracle

  3. Jaká je správná výchozí hodnota pro desetinné pole MySQL?

  4. Použití IS NULL nebo IS NOT NULL v podmínkách spojení - teoretická otázka