-- ============================================================
|
-- 规下货运量 / 规下周转量 计算口径(2026-09-04 业务确认)
|
-- ------------------------------------------------------------
|
-- 用到哪些表(中文名 = 用户平时叫的名字,括号内是程序里存的表名,一般不用管):
|
-- ①《道路货物运输月度生产情况表》= 交企统H203-2表,企业级月报
|
-- (库表名 h2032_enterprise_monthly)——里面的企业都是“规上企业”,
|
-- 把各市州所有企业的“货运量、货物周转量”加起来,就是“规上”合计。
|
-- 注意:该表的货运量单位是“吨”、周转量单位是“吨公里”,
|
-- 而报表单位是“万吨、万吨公里”,所以要除以 10000。
|
-- ②《货运量周转量表》(库表名 freight_turnover_import)——全省和各市州的
|
-- “全口径”货运量、周转量(规上+规下都算在内),单位已经是“万吨/万吨公里”,
|
-- 里面还有一行“湖北省”用来核对全省合计,以及去年同月列(last_*)。
|
-- ③《规上规下拆分表》(库表名 scale_split_transport)——把拆分结果存下来的表
|
-- (规上/规下/合计,含排名、同比)。目前导入的拆分模板只有“周转量”,
|
-- 所以该表周转量三列有数、货运量三列为空;货运量拆分如需落表,
|
-- 用查询 3(默认不执行)回填。
|
-- 核心公式(分市州、每个月都一样):
|
-- 规上货运量(万吨) = ①表货运量合计 ÷ 10000
|
-- 全口径货运量(万吨) = ②表当月货运量
|
-- 规下货运量(万吨) = 全口径 − 规上
|
-- 周转量同理(规下周转量 = ②表当月周转量 − ①表周转量合计 ÷ 10000)
|
-- 全省校验:17 个市州相加 = “湖北省”行 = 汇总表《“ 货运”页》全省数
|
-- (2026-07:货运量 16285.71 万吨、规上 3754.78 万吨、规下 12530.93 万吨)
|
-- ============================================================
|
|
-- =====================================================================
|
-- 查询 1:分市州 “规上 / 全口径 / 规下” 货运量、周转量(2026-07 示例)
|
-- 把 '2026-07' 换成别的月份,把 m07 换成对应月号(m01~m12)即可查其他月。
|
-- =====================================================================
|
SELECT m.市州,
|
ft.freight_m07 AS 全口径货运量_万吨,
|
ROUND(gs.规上货运量_万吨, 4) AS 规上货运量_万吨,
|
ROUND(ft.freight_m07 - gs.规上货运量_万吨, 4) AS 规下货运量_万吨,
|
ft.turnover_m07 AS 全口径周转量_万吨公里,
|
ROUND(gs.规上周转量_万吨公里, 4) AS 规上周转量_万吨公里,
|
ROUND(ft.turnover_m07 - gs.规上周转量_万吨公里, 4) AS 规下周转量_万吨公里
|
FROM (
|
SELECT '武汉' AS 市州, '武汉市' AS 表内城市名 UNION ALL SELECT '黄石','黄石市'
|
UNION ALL SELECT '十堰','十堰市' UNION ALL SELECT '宜昌','宜昌市'
|
UNION ALL SELECT '襄阳','襄阳市' UNION ALL SELECT '鄂州','鄂州市'
|
UNION ALL SELECT '荆门','荆门市' UNION ALL SELECT '孝感','孝感市'
|
UNION ALL SELECT '荆州','荆州市' UNION ALL SELECT '黄冈','黄冈市'
|
UNION ALL SELECT '咸宁','咸宁市' UNION ALL SELECT '随州','随州市'
|
UNION ALL SELECT '恩施','恩施州' UNION ALL SELECT '仙桃','仙桃市'
|
UNION ALL SELECT '潜江','潜江市' UNION ALL SELECT '天门','天门市'
|
UNION ALL SELECT '林区','林区'
|
) m
|
LEFT JOIN freight_turnover_import ft -- ②《货运量周转量表》:全口径总量月报
|
ON ft.report_period = '2026-07' AND ft.region_name = m.表内城市名
|
LEFT JOIN (
|
SELECT CASE
|
WHEN region_code LIKE '4201%' THEN '武汉' WHEN region_code LIKE '4202%' THEN '黄石'
|
WHEN region_code LIKE '4203%' THEN '十堰' WHEN region_code LIKE '4205%' THEN '宜昌'
|
WHEN region_code LIKE '4206%' THEN '襄阳' WHEN region_code LIKE '4207%' THEN '鄂州'
|
WHEN region_code LIKE '4208%' THEN '荆门' WHEN region_code LIKE '4209%' THEN '孝感'
|
WHEN region_code LIKE '4210%' THEN '荆州' WHEN region_code LIKE '4211%' THEN '黄冈'
|
WHEN region_code LIKE '4212%' THEN '咸宁' WHEN region_code LIKE '4213%' THEN '随州'
|
WHEN region_code LIKE '4228%' THEN '恩施' WHEN region_code LIKE '429004%' THEN '仙桃'
|
WHEN region_code LIKE '429005%' THEN '潜江' WHEN region_code LIKE '429006%' THEN '天门'
|
WHEN region_code LIKE '429021%' THEN '林区' END AS 市州,
|
SUM(freight_total) / 10000 AS 规上货运量_万吨, -- ①表“货运量”合计,吨÷10000→万吨
|
SUM(turnover_total) / 10000 AS 规上周转量_万吨公里 -- ①表“周转量”合计,吨公里÷10000→万吨公里
|
FROM h2032_enterprise_monthly -- ①《道路货物运输月度生产情况表》(H203-2,规上企业)
|
WHERE report_period = '2026-07'
|
GROUP BY 市州
|
) gs ON gs.市州 = m.市州;
|
|
-- =====================================================================
|
-- 查询 2:全省校验(看程序算的全省数对不对)
|
-- 期望值 = 2026-07:规上货运量 3754.78;规上周转量 597278.64;
|
-- 全口径货运量 16285.71(母版 O5);全口径周转量 2181925.71。
|
-- =====================================================================
|
SELECT
|
(SELECT ROUND(SUM(freight_total)/10000, 4) FROM h2032_enterprise_monthly -- ①表
|
WHERE report_period='2026-07' AND (region_code LIKE '42%' OR region_code LIKE '4290%')) AS 全省规上货运量_万吨,
|
(SELECT ROUND(SUM(turnover_total)/10000, 4) FROM h2032_enterprise_monthly -- ①表
|
WHERE report_period='2026-07' AND (region_code LIKE '42%' OR region_code LIKE '4290%')) AS 全省规上周转量_万吨公里,
|
(SELECT freight_m07 FROM freight_turnover_import -- ②表“湖北省”行
|
WHERE report_period='2026-07' AND region_name='湖北省') AS 全省全口径货运量_万吨,
|
(SELECT turnover_m07 FROM freight_turnover_import -- ②表“湖北省”行
|
WHERE report_period='2026-07' AND region_name='湖北省') AS 全省全口径周转量_万吨公里;
|
|
-- =====================================================================
|
-- 查询 3(可选,默认不执行):把“货运量拆分”回填到《规上规下拆分表》
|
-- 注意:该表现在只有“累计(CUMULATIVE)”口径的周转量行;
|
-- 回填货运量需要先想清楚是“当月”还是“1-月累计”口径,
|
-- 累计口径要先把 1~7 月逐月算出来再加总。确认口径后再放开注释执行。
|
-- =====================================================================
|
-- UPDATE scale_split_transport -- ③《规上规下拆分表》
|
-- JOIN (查询 1 的结果) d ON d.市州 = 市州名
|
-- SET above_scale_freight = d.规上货运量_万吨,
|
-- below_scale_freight = d.规下货运量_万吨,
|
-- total_freight = d.全口径货运量_万吨
|
-- WHERE report_period='2026-07' AND period_type='MONTHLY';
|