我正在寻找 14 行,但这里只有 13 行。
我在左表中有 7 个 AGENCY_CODE,我希望右表中的每个 PROJECT_TYPE 都有一行。这很容易,除非没有一个机构代码的第二个(缓解)项目类型的记录,但我需要它显示,所以当我将它分成两个表时,它们的大小相同。
select i.project_type,a.agency_code,
a.agency_desc,a.sort_order,
sum(case when i.status_code='DES' then 1 else 0 end) as 'Design',
sum(case when i.status_code='ONG' then 1 else 0 end) as 'Construction'
from agencyLookup a
left join sandy_imp_demographics i on substring(i.category,1,1)=a.agency_code
group by i.projecT_type,a.agency_code,a.agency_desc,a.sort_order
您会看到 Agency_code G 缺少缓解措施。
project_type agency_code
Mitigation D
Mitigation L
Mitigation M
Mitigation S
Mitigation T
Mitigation U
Recovery D
Recovery G
Recovery L
Recovery M
Recovery S
Recovery T
Recovery U
那么我缺少什么来获取机构代码 G 的 null/0 行?
编辑:进一步考虑这一点,这不是左连接问题,而是一个一组。我加入了 Agency_desc 以获取更多信息,但实际的组字段是问题所在。
select substring(i.category,1,1),i.project_type
from sandy_imp_demographics i
group by substring(i.category,1,1),i.project_type
A 组有机构代码,其中 7 个,但其中一个没有缓解项目类型。无论如何,我如何让它显示出来,我最终提取的值是空值?
编辑:没有分组的表样本
(No column name) project_type
D Mitigation
D Mitigation
D Mitigation
G Recovery
G Recovery
G Recovery
G Recovery
L Mitigation
L Mitigation
L Recovery
这是第一列中的 G 值没有显示出来。