SELECT ISNULL(所属部门, '合计') AS 单位部门名称,
SUM(已归档 + 已执结 + 执行中 + 审理已下派 + 未派案) AS 合计, SUM(已归档)
AS 已归档, SUM(已执结) AS 已执结, SUM(执行中) AS 执行中, SUM(审理已下派)
AS 审理已下派, SUM(未派案) AS 未派案
FROM (SELECT 单位部门信息表.单位部门名称 AS 所属部门,
CASE WHEN 案件状态 = '已归档' THEN CAST(COUNT(*) AS INT)
ELSE 0 END AS 已归档,
CASE WHEN 案件状态 = '已执结' THEN CAST(COUNT(*) AS INT)
ELSE 0 END AS 已执结,
CASE WHEN 案件状态 = '执行中' THEN CAST(COUNT(*) AS INT)
ELSE 0 END AS 执行中,
CASE WHEN 案件状态 = '审理已下派' THEN CAST(COUNT(*) AS INT)
ELSE 0 END AS 审理已下派,
CASE WHEN 案件状态 = '未派案' THEN CAST(COUNT(*) AS INT)
ELSE 0 END AS 未派案
FROM 单位部门信息表 INNER JOIN
案件信息表 ON 案件信息表.承办部门 = 单位部门信息表.单位部门名称
GROUP BY 案件信息表.案件状态, 单位部门信息表.单位部门名称) AS T
GROUP BY 所属部门, 所属部门 WITH ROLLUP
ORDER BY 单位部门名称 DESC显示结果为 : 单位部门名称 合计 已归档 已执结 执行中 审理已下派
稽查一所 12 3 4 0 2
稽查四所 1 1 0 0 0
稽查三所 1 1 0 0 0
稽查二所 1 1 0 0 0
合计 15 在单位部门信息表中有所有单位名称,可案件信息里只有这几个有数据所以只能显示这几个 ,如何 显示所有稽查所的名称??
SUM(已归档 + 已执结 + 执行中 + 审理已下派 + 未派案) AS 合计, SUM(已归档)
AS 已归档, SUM(已执结) AS 已执结, SUM(执行中) AS 执行中, SUM(审理已下派)
AS 审理已下派, SUM(未派案) AS 未派案
FROM (SELECT 单位部门信息表.单位部门名称 AS 所属部门,
CASE WHEN 案件状态 = '已归档' THEN CAST(COUNT(*) AS INT)
ELSE 0 END AS 已归档,
CASE WHEN 案件状态 = '已执结' THEN CAST(COUNT(*) AS INT)
ELSE 0 END AS 已执结,
CASE WHEN 案件状态 = '执行中' THEN CAST(COUNT(*) AS INT)
ELSE 0 END AS 执行中,
CASE WHEN 案件状态 = '审理已下派' THEN CAST(COUNT(*) AS INT)
ELSE 0 END AS 审理已下派,
CASE WHEN 案件状态 = '未派案' THEN CAST(COUNT(*) AS INT)
ELSE 0 END AS 未派案
FROM 单位部门信息表 INNER JOIN
案件信息表 ON 案件信息表.承办部门 = 单位部门信息表.单位部门名称
GROUP BY 案件信息表.案件状态, 单位部门信息表.单位部门名称) AS T
GROUP BY 所属部门, 所属部门 WITH ROLLUP
ORDER BY 单位部门名称 DESC显示结果为 : 单位部门名称 合计 已归档 已执结 执行中 审理已下派
稽查一所 12 3 4 0 2
稽查四所 1 1 0 0 0
稽查三所 1 1 0 0 0
稽查二所 1 1 0 0 0
合计 15 在单位部门信息表中有所有单位名称,可案件信息里只有这几个有数据所以只能显示这几个 ,如何 显示所有稽查所的名称??
SELECT ISNULL(所属部门, '合计') AS 单位部门名称,
SUM(已归档 + 已执结 + 执行中 + 审理已下派 + 未派案) AS 合计, SUM(已归档)
AS 已归档, SUM(已执结) AS 已执结, SUM(执行中) AS 执行中, SUM(审理已下派)
AS 审理已下派, SUM(未派案) AS 未派案
FROM (SELECT 单位部门信息表.单位部门名称 AS 所属部门,
CASE WHEN 案件状态 = '已归档' THEN CAST(COUNT(*) AS INT)
ELSE 0 END AS 已归档,
CASE WHEN 案件状态 = '已执结' THEN CAST(COUNT(*) AS INT)
ELSE 0 END AS 已执结,
CASE WHEN 案件状态 = '执行中' THEN CAST(COUNT(*) AS INT)
ELSE 0 END AS 执行中,
CASE WHEN 案件状态 = '审理已下派' THEN CAST(COUNT(*) AS INT)
ELSE 0 END AS 审理已下派,
CASE WHEN 案件状态 = '未派案' THEN CAST(COUNT(*) AS INT)
ELSE 0 END AS 未派案
FROM 单位部门信息表 left JOIN -----此處改為左連接
案件信息表 ON 案件信息表.承办部门 = 单位部门信息表.单位部门名称
GROUP BY 案件信息表.案件状态, 单位部门信息表.单位部门名称) AS T
GROUP BY 所属部门, 所属部门 WITH ROLLUP
ORDER BY 单位部门名称 DESC
案件信息表 ON 案件信息表.承办部门 = 单位部门信息表.单位部门名称
改为
FROM 单位部门信息表 LEFT OUTER JOIN
案件信息表 ON 案件信息表.承办部门 = 单位部门信息表.单位部门名称 AND
单位部门信息表.科所分类代码 >= 0为什么还显示 科所分类代码为-1的数据呢?
FROM 单位部门信息表 LEFT OUTER JOIN
案件信息表 ON 案件信息表.承办部门 = 单位部门信息表.单位部门名称
where 单位部门信息表.科所分类代码 >= 0 -----改為where