使用 "CASE WHEN" 和 "GROUP BY" 的组合创建查询

Creating a Query with combination of "CASE WHEN" and "GROUP BY"

我尝试创建一个 table,我在其中创建带有 CASE WHEN 的列,这些列应按候选人分组。我已经试过很多次了,在论坛里搜索过,但我没有得到解决方案。

SELECT History.ApplicantId
       ,MAX(Interested)
       from (
       SELECT  History.ApplicantId
               ,CASE WHEN (ActivityId = 88) THEN 1 END AS Interested
From History) a
GROUP BY History.ApplicantId

所以我的结果应该是两列。第一个是申请人,第二个是他有兴趣。 1 或 NULL。

但我得到 'The multi-part identifier "History.ApplicantId" could not be bound'。

我该怎么办?

此致

我们可以在单级查询中聚合:

SELECT
    ApplicantId,
    MAX(CASE WHEN ActivityId = 88 THEN 1 END) AS Interested
FROM History
GROUP BY ApplicantId;

如果申请人感兴趣,这将报告 1,否则 NULL