sql >> Database teknologi >  >> RDS >> Mysql

Vælg spillere med fast trofæantal og point

For at opnå et sikrere resultat skal du pakke hele din aktuelle forespørgsel ind i en underforespørgsel.

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. Hvordan opdeler jeg en afgrænset streng i SQL Server uden at oprette en funktion?

  2. hvordan man bruger Blob datatype i Postgres

  3. Postgresql CASE-sætning - kan jeg bruge returværdien af ​​CASE i min SELECT?

  4. Hvordan nøgler Magento en produktgruppe til et produkt i databasen