[已用]创建金三角统计视图.sql
1.56 KB
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: 首次订单日期