【发布时间】:2021-03-18 19:41:24
【问题描述】:
我想获取给定技能 ID 的所有标题和分数,每个技能都有强制性的标题,但答案表中可能没有记录匹配条件 A.[ServiceId] = 45 在这种情况下我仍然需要显示所有的 Titles 和 0 作为分数
SELECT T.[Title] AS 'Title', SUM(A.[Total]) AS 'Score' FROM dbo.[Title] T
LEFT JOIN dbo.[Answer] A
ON T.[TitleId] = A.[TitleId]
WHERE T.[SkillId] = 2 AND A.[TypeId] = 21
AND A.[ServiceId] = 45
GROUP BY T.[Title]
为此,我进行了 LEFT Join,但它仍然不显示标题,如果我删除条件 A.[ServiceId] = 45,我会显示标题,但分数不准确
即使不满足条件A.[ServiceId] = 45,我如何始终显示标题,显示0作为分数
【问题讨论】:
标签: sql sql-server join left-join where-clause