You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
242 lines
6.9 KiB
242 lines
6.9 KiB
SELECT
|
|
ta.stage,
|
|
ta.cityCountryGroup,
|
|
ta.xiaosheNo,
|
|
tb.studentno,
|
|
-- tb.teacherno , -- 这个需求不需要教师数
|
|
concat ( round( CAST ( ta.xiaosheNo / tb.studentno AS NUMERIC ), 2 ), '%' ) AS bl -- 计算百分比
|
|
|
|
FROM
|
|
(
|
|
SELECT
|
|
'小学' AS stage,
|
|
sbr.cityCountryGroup,
|
|
SUM ( F + G + H + I ) AS xiaosheNo
|
|
FROM
|
|
schoolBusinessRelation sbr
|
|
INNER JOIN instanceTable it ON sbr.organizationNo = it.organizationNo
|
|
AND sbr.businesstypeno = it.businesstypeno
|
|
INNER JOIN J512 AS j ON j.instanceid = it.instanceid
|
|
AND (
|
|
did IN ( 5, 6, 7, 8, 9, 10 )
|
|
OR did IN ( 11 )
|
|
OR did IN ( 14, 16, 17, 18, 19 )
|
|
OR did IN ( 20 )
|
|
)
|
|
INNER JOIN v_areainfo va ON va.region_name = sbr.gatherregionc
|
|
WHERE
|
|
sbr.gatherRegionB = '长春市'
|
|
AND sbr.businessTypeNo IN ( '211', '218' )
|
|
AND sbr.isLastYearCancel = 0
|
|
AND sbr.recordyear = 2019
|
|
AND it.recordyear = 2019
|
|
AND j.recordyear = 2019
|
|
GROUP BY
|
|
cityCountryGroup UNION ALL
|
|
SELECT
|
|
'初中' AS stage,
|
|
sbr.cityCountryGroup,
|
|
SUM ( F + G + H + I ) AS xiaosheNo
|
|
FROM
|
|
schoolBusinessRelation sbr
|
|
INNER JOIN instanceTable it ON sbr.organizationNo = it.organizationNo
|
|
AND sbr.businesstypeno = it.businesstypeno
|
|
INNER JOIN J512 AS j ON j.instanceid = it.instanceid
|
|
AND (
|
|
did IN ( 5, 6, 7, 8, 9, 10 )
|
|
OR did IN ( 11 )
|
|
OR did IN ( 14, 16, 17, 18, 19 )
|
|
OR did IN ( 20 )
|
|
)
|
|
WHERE
|
|
sbr.gatherRegionB = '长春市'
|
|
AND sbr.businessTypeNo IN ( '311', '312' )
|
|
AND sbr.isLastYearCancel = 0
|
|
AND sbr.recordyear = 2019
|
|
AND it.recordyear = 2019
|
|
AND j.recordyear = 2019
|
|
GROUP BY
|
|
cityCountryGroup UNION ALL
|
|
SELECT
|
|
'高中' AS stage,
|
|
sbr.cityCountryGroup,
|
|
SUM ( F + G + H + I ) AS xiaosheNo
|
|
FROM
|
|
schoolBusinessRelation sbr
|
|
INNER JOIN instanceTable it ON sbr.organizationNo = it.organizationNo
|
|
AND sbr.businesstypeno = it.businesstypeno
|
|
INNER JOIN J512 AS j ON j.instanceid = it.instanceid
|
|
AND (
|
|
did IN ( 5, 6, 7, 8, 9, 10 )
|
|
OR did IN ( 11 )
|
|
OR did IN ( 14, 16, 17, 18, 19 )
|
|
OR did IN ( 20 )
|
|
)
|
|
WHERE
|
|
sbr.gatherRegionB = '长春市'
|
|
AND sbr.businessTypeNo IN ( '341', '342', '345' )
|
|
AND sbr.isLastYearCancel = 0
|
|
AND sbr.recordyear = 2019
|
|
AND it.recordyear = 2019
|
|
AND j.recordyear = 2019
|
|
GROUP BY
|
|
cityCountryGroup
|
|
) AS ta
|
|
FULL JOIN (
|
|
SELECT
|
|
t1.A AS stage,
|
|
t1.citycountrygroup,
|
|
SUM ( c1 ) AS studentNo,
|
|
SUM ( c2 ) AS teacherNo
|
|
FROM
|
|
(
|
|
SELECT
|
|
*
|
|
FROM
|
|
(
|
|
SELECT
|
|
'小学' AS A,
|
|
'学生' AS b,
|
|
sbr.cityCountryGroup,
|
|
SUM ( j + K + l + M + n + o ) AS c1,
|
|
0 AS c2
|
|
FROM
|
|
schoolBusinessRelation sbr
|
|
INNER JOIN instanceTable it ON sbr.organizationNo = it.organizationNo
|
|
AND sbr.businesstypeno = it.businesstypeno
|
|
INNER JOIN J312 AS j ON j.instanceid = it.instanceid
|
|
AND j.did IN ( 1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47 )
|
|
WHERE
|
|
sbr.gatherRegionB = '长春市'
|
|
AND sbr.businessTypeNo IN ( '211', '218', '219', '312', '345' )
|
|
AND sbr.recordyear = 2019
|
|
AND it.recordyear = 2019
|
|
AND j.recordyear = 2019
|
|
GROUP BY
|
|
sbr.cityCountryGroup UNION ALL
|
|
SELECT
|
|
'初中' AS A,
|
|
'学生' AS b,
|
|
sbr.cityCountryGroup,
|
|
SUM ( i + j + K + l ) AS c1,
|
|
0 AS c2
|
|
FROM
|
|
schoolBusinessRelation sbr
|
|
INNER JOIN instanceTable it ON sbr.organizationNo = it.organizationNo
|
|
AND sbr.businesstypeno = it.businesstypeno
|
|
INNER JOIN J313 AS j ON j.instanceid = it.instanceid
|
|
AND j.did IN ( 1, 36, 37, 38, 39, 40, 41, 42, 43, 44 )
|
|
WHERE
|
|
sbr.gatherRegionB = '长春市'
|
|
AND sbr.businessTypeNo IN ( '311', '312', '319', '341', '345' )
|
|
AND sbr.isLastYearCancel = 0
|
|
AND sbr.recordyear = 2019
|
|
AND it.recordyear = 2019
|
|
AND j.recordyear = 2019
|
|
GROUP BY
|
|
sbr.cityCountryGroup UNION ALL
|
|
SELECT
|
|
'高中' AS A,
|
|
'学生' AS b,
|
|
sbr.cityCountryGroup,
|
|
SUM ( i + j + K ) AS c1,
|
|
0 AS c2
|
|
FROM
|
|
schoolBusinessRelation sbr
|
|
INNER JOIN instanceTable it ON sbr.organizationNo = it.organizationNo
|
|
AND sbr.businesstypeno = it.businesstypeno
|
|
INNER JOIN J314 AS j ON j.instanceid = it.instanceid
|
|
AND did IN ( 1, 11, 12, 13, 14, 15, 16, 17, 18, 19 )
|
|
INNER JOIN v_areainfo va ON va.region_name = sbr.gatherregionc
|
|
WHERE
|
|
sbr.gatherRegionB = '长春市'
|
|
AND sbr.businessTypeNo IN ( '341', '342', '345', '349' )
|
|
AND sbr.isLastYearCancel = 0
|
|
AND sbr.recordyear = 2019
|
|
AND it.recordyear = 2019
|
|
AND j.recordyear = 2019
|
|
GROUP BY
|
|
sbr.cityCountryGroup
|
|
) AS T UNION ALL
|
|
SELECT
|
|
*
|
|
FROM
|
|
(
|
|
SELECT
|
|
'高中' AS A,
|
|
'老师' AS b,
|
|
sbr.cityCountryGroup,
|
|
0 AS c1,
|
|
SUM ( F + G + H + I + j + K + l + M + N ) AS c2
|
|
FROM
|
|
schoolBusinessRelation sbr
|
|
INNER JOIN instanceTable it ON sbr.organizationNo = it.organizationNo
|
|
AND sbr.businesstypeno = it.businesstypeno
|
|
INNER JOIN J422 AS j ON j.instanceid = it.instanceid
|
|
AND did IN ( 22, 23, 24, 25, 26, 27 )
|
|
INNER JOIN v_areainfo va ON va.region_name = sbr.gatherregionc
|
|
WHERE
|
|
sbr.gatherRegionB = '长春市'
|
|
AND sbr.businessTypeNo IN ( '341', '342', '345' )
|
|
AND sbr.isLastYearCancel = 0
|
|
AND sbr.recordyear = 2019
|
|
AND it.recordyear = 2019
|
|
AND j.recordyear = 2019
|
|
GROUP BY
|
|
sbr.cityCountryGroup UNION ALL
|
|
SELECT
|
|
'初中' AS A,
|
|
'老师' AS b,
|
|
sbr.cityCountryGroup,
|
|
0 AS c1,
|
|
SUM ( F + G + H + I + j + K + l + M + N ) AS c2
|
|
FROM
|
|
schoolBusinessRelation sbr
|
|
INNER JOIN instanceTable it ON sbr.organizationNo = it.organizationNo
|
|
AND sbr.businesstypeno = it.businesstypeno
|
|
INNER JOIN J422 AS j ON j.instanceid = it.instanceid
|
|
AND did IN ( 13, 14, 15, 16, 17, 18 )
|
|
INNER JOIN v_areainfo va ON va.region_name = sbr.gatherregionc
|
|
WHERE
|
|
sbr.gatherRegionB = '长春市'
|
|
AND sbr.businessTypeNo IN ( '311', '312', '341', '345' )
|
|
AND sbr.isLastYearCancel = 0
|
|
AND sbr.recordyear = 2019
|
|
AND it.recordyear = 2019
|
|
AND j.recordyear = 2019
|
|
GROUP BY
|
|
sbr.cityCountryGroup UNION ALL
|
|
SELECT
|
|
'小学' AS A,
|
|
'老师' AS b,
|
|
sbr.cityCountryGroup,
|
|
0 AS c1,
|
|
SUM ( F + G + H + I + j + K + l + M + N ) AS c2
|
|
FROM
|
|
schoolBusinessRelation sbr
|
|
INNER JOIN instanceTable it ON sbr.organizationNo = it.organizationNo
|
|
AND sbr.businesstypeno = it.businesstypeno
|
|
INNER JOIN J422 AS j ON j.instanceid = it.instanceid
|
|
AND did IN ( 4, 5, 6, 7, 8, 9 )
|
|
INNER JOIN v_areainfo va ON va.region_name = sbr.gatherregionc
|
|
WHERE
|
|
sbr.gatherRegionB = '长春市'
|
|
AND sbr.businessTypeNo IN ( '211', '218', '312', '345' )
|
|
AND sbr.isLastYearCancel = 0
|
|
AND sbr.recordyear = 2019
|
|
AND it.recordyear = 2019
|
|
AND j.recordyear = 2019
|
|
GROUP BY
|
|
sbr.cityCountryGroup
|
|
) AS T
|
|
) AS t1
|
|
GROUP BY
|
|
A,
|
|
citycountrygroup
|
|
ORDER BY
|
|
A,
|
|
citycountrygroup
|
|
) AS tb ON ta.stage = tb.stage AND ta.citycountrygroup = tb.citycountrygroup
|
|
ORDER BY
|
|
ta.stage,
|
|
ta.citycountrygroup |