字段转换、合并结果集

字段转换、合并结果集

需求:

原始sql:需求的结果集为一列字段

SELECT
  p_d_region.TName,
     entbase.enba_state,
COUNT(entbase.enba_state)coun

FROM
     (select * from tb_z_entbase where tb_z_entbase.quan_id='3')  entbase
RIGHT JOIN tb_z_entmain ON entbase.Enba_qid = tb_z_entmain.Enma_id
RIGHT JOIN tb_z_finance ON tb_z_entmain.Enma_id = tb_z_finance.Fina_id
RIGHT JOIN p_d_region  ON p_d_region.TID = entbase.Enba_reg_addr_prov
WHERE p_d_region.TLevel='1'  AND entbase.enba_state IS NOT NULL
GROUP BY
entbase.enba_state,p_d_region.TName


最终sql:

SELECT
  p_d_region.TID,p_d_region.TName, count(entbase.Enba_state) zs,
count((CASE entbase.enba_state WHEN '编辑中' THEN '编辑中' END)) bjz,
count((CASE entbase.enba_state WHEN '已提交' THEN '已提交' END)) ytj,
count((CASE entbase.enba_state WHEN '退回修改' THEN '退回修改' END)) thxg,
count((CASE entbase.enba_state WHEN '省级工商联审核' THEN '省级工商联审核' END)) sjgglsh,
count((CASE entbase.enba_state WHEN '全国工商联审核' THEN '全国工商联审核' END)) qggslsh,
count((CASE entbase.enba_state WHEN '已删除' THEN '已删除' END)) ysc
FROM
(select * from tb_z_entbase where tb_z_entbase.quan_id='3')  entbase
LEFT JOIN tb_z_entmain ON entbase.Enba_qid = tb_z_entmain.Enma_id
LEFT JOIN tb_z_finance ON entbase.Enba_qid = tb_z_finance.Fina_id
LEFT JOIN tb_z_quantum ON entbase.Quan_id = tb_z_quantum.Quan_id
LEFT JOIN p_dept ON entbase.Enba_acfic = p_dept.DeptID
RIGHT JOIN p_d_region  ON p_d_region.TID = entbase.Enba_reg_addr_prov
WHERE p_d_region.TLevel='1'  AND entbase.enba_state IS NOT NULL AND p_dept.NodePath LIKE '/0/%'
GROUP BY
p_d_region.TName,p_d_region.TID
order by p_d_region.TID

最终效果:


 上一篇
如何制作多行多列的表格 如何制作多行多列的表格
如何制作多行多列的表格 我们在制作表格的时候,总是会遇到一个表格中有多行多列,但是又不一定每行的列数相同,这样的表格我们该怎么制作呢? 跨多列的表 <td colspan=#> <table border=1> <t
2020-08-09
下一篇 
手动删除WebLogic域 手动删除WebLogic域
手动删除WebLogic域 删除 $DOMAIN_HOME下的doamin目录,例如:XXX\user_projects\domains下的base_domain。 检查domain-registry.xml,删除相应domain的描述条目
2020-08-08
  目录