Blame view

项目文档相关/sql/[已用]创建金三角统计视图.sql 1.56 KB
d8035736   “wangming”   Refactor project ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
  -- 创建金三角统计视图
  -- 用于统计金三角的订单数量、业绩总额、首次和最后订单日期等信息
  -- 按月份和业绩总额降序排列
  
  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: 首次订单日期