Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Anzeigen aller Datensätze aus einer Tabelle und übereinstimmende Datensätze aus einer anderen

Verwenden Sie einen äußeren Join:

select 
    a.activityName, 
    coalesce(sum(pt.remainderPoints), 0) points
from 
    activities a left outer join pointsTable pt on 
        pt.activityName = a.activityName and pt.UserID = 2
group by a.activityName

oder eine Unterabfrage:

select
    activities.ActivityName,
    coalesce(
        (select sum(RemainderPoints) from pointsTable where pointsTable.UserId = 2 and pointsTable.ActivityName = activities.ActivityName)
    , 0) points
from
    activities