使用 "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
。
我尝试创建一个 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
。