[已用]创建金三角统计视图.sql 1.56 KB
-- 创建金三角统计视图
-- 用于统计金三角的订单数量、业绩总额、首次和最后订单日期等信息
-- 按月份和业绩总额降序排列

CREATE VIEW v_jsj_monthly_performance AS
SELECT
	`jsj`.`F_Id` AS `jsj_id`,
	`jsj`.`jsj` AS `jsj_name`,
	`jsj`.`yf` AS `month`,
	`jsj`.`md` AS `store_id`,
	`md`.`dm` AS `store_name`,
	count( DISTINCT `jksyj`.`glkdbh` ) AS `order_count`,
	sum(
		cast( `jksyj`.`jksyj` AS DECIMAL ( 18, 2 ) ) 
	) AS `total_performance`,
	max( `jksyj`.`yjsj` ) AS `last_order_date`,
	min( `jksyj`.`yjsj` ) AS `first_order_date` 
FROM
	(
		(
			`lq_ycsd_jsj` `jsj`
			LEFT JOIN `lq_kd_jksyj` `jksyj` ON (
				(
					( `jsj`.`F_Id` = `jksyj`.`jsj_id` ) 
					AND (
						YEAR ( `jksyj`.`yjsj` ) = substr( `jsj`.`yf`, 1, 4 ) 
					) 
					AND (
						MONTH ( `jksyj`.`yjsj` ) = substr( `jsj`.`yf`, 5, 2 ) 
					) 
				) 
			) 
		)
		LEFT JOIN `lq_mdxx` `md` ON ( ( `jsj`.`md` = `md`.`F_Id` ) ) 
	) 
WHERE
	(
		( `jsj`.`yf` IS NOT NULL ) 
		AND ( `jksyj`.`yjsj` IS NOT NULL ) 
		AND ( `jksyj`.`jksyj` IS NOT NULL ) 
		AND ( `jksyj`.`jksyj` <> '' ) 
		AND ( `jksyj`.`jksyj` <> '0' ) 
	) 
GROUP BY
	`jsj`.`F_Id`,
	`jsj`.`jsj`,
	`jsj`.`yf`,
	`jsj`.`md`,
	`md`.`dm` 
ORDER BY
	`jsj`.`yf` DESC,
	`total_performance` DESC;

-- 视图说明:
-- jsj_id: 金三角ID
-- jsj_name: 金三角名称
-- month: 月份(格式:yyyyMM)
-- store_id: 门店ID
-- store_name: 门店名称
-- order_count: 订单数量(去重)
-- total_performance: 总业绩(转换为DECIMAL类型)
-- last_order_date: 最后订单日期
-- first_order_date: 首次订单日期