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.
 
 
 
 

191 lines
3.7 KiB

-- 用户基本信息视图
CREATE VIEW consumer_base_info_view AS
SELECT
t1.*, cl.channel_name
FROM
(
SELECT
c.user_id,
c.nick_name,
c.created_at register_at,
c.mobile register_mobile,
c.level,
c.channel_no
FROM
consumer_info c
LEFT JOIN `user` u ON c.user_id = u.user_id
) t1
LEFT JOIN channel cl ON t1.channel_no = cl.channel_no;
-- 创建用户服务卡视图
CREATE VIEW consumer_service_card_view AS
SELECT
t1.user_id,
t1.card_detail,
t2.max_card_type,
t2.sum_total_service_cnt,
t2.sum_serviced_cnt,
t2.sum_booked_cnt
FROM
(
SELECT
user_id,
GROUP_CONCAT(card_name, ':', card_cnt) card_detail
FROM
(
SELECT
user_id,
CASE card_type
WHEN 10 THEN
'单次卡'
WHEN 20 THEN
'月卡'
WHEN 30 THEN
'季卡'
WHEN 40 THEN
'半年卡'
WHEN 50 THEN
'年卡'
ELSE
''
END AS card_name,
COUNT(card_type) AS card_cnt
FROM
service_card
GROUP BY
user_id,
card_type
) ot
GROUP BY
user_id
) t1,
(
SELECT
user_id,
MAX(card_type) max_card_type,
SUM(total_service_cnt) sum_total_service_cnt,
SUM(booked_cnt) sum_booked_cnt,
SUM(serviced_cnt) sum_serviced_cnt
FROM
service_card -- WHERE sc.user_id = '180515171015928100'
GROUP BY
user_id
) t2
WHERE
t1.user_id = t2.user_id;
-- 创建用户服务评价视图
CREATE VIEW service_evaluation_view AS
SELECT
*,
IF (
(
time_score + service_score + profession_score = '15'
AND content != ''
),
1,
0
) evaluation_status
FROM
service_evaluation;
-- 创建人员回访列表视图
CREATE VIEW feedback_order_view AS
SELECT
f.*,
IF (
(
attitude_score + quality_score + efficiency_score = '15'
AND feedback_content != ''
),
1,
0
) feedback_evaluation_status,
a.nick_name feedback_name
FROM
feedback_order f
LEFT JOIN admin_info a ON f.feedback_by = a.user_id;
-- 创建客户商家关系视图
CREATE VIEW rel_consumer_merchant_view AS
SELECT t3.user_id,
IF (
t3.merchant_no = t4.coupon_merchant_no,
t3.merchant_no,
GROUP_CONCAT(
t3.merchant_no,
'&',
t4.coupon_merchant_no
)
) merchant_no
FROM
(
SELECT
t1.user_id,
IF (
t1.order_merchant = t2.card_merchant_no,
t1.order_merchant,
GROUP_CONCAT(
t1.order_merchant,
'&',
t2.card_merchant_no
)
) merchant_no
FROM
(
select t.user_id, GROUP_CONCAT(t.merchant_no ORDER BY t.merchant_no asc separator '&') order_merchant from
(
select DISTINCT c.user_id, v.merchant_no FROM consumer_info c, vorder v
WHERE c.user_id = v.user_id
GROUP BY c.user_id, v.merchant_no
) t
GROUP BY t.user_id
) t1,
(
select t.user_id, GROUP_CONCAT(t.merchant_no ORDER BY t.merchant_no asc separator '&') card_merchant_no FROM
(
select DISTINCT c.user_id, s.merchant_no FROM consumer_info c, service_card s
WHERE c.user_id = s.user_id
GROUP BY c.user_id,s.merchant_no
) t
GROUP BY t.user_id
) t2
where t1.user_id = t2.user_id
GROUP BY t1.user_id
) t3,
(
select t.user_id, GROUP_CONCAT(t.merchant_no ORDER BY t.merchant_no asc separator '&') coupon_merchant_no FROM
(
select DISTINCT c.user_id, cp.merchant_no FROM consumer_info c, coupon cp
WHERE c.user_id = cp.user_id
GROUP BY c.user_id,cp.merchant_no
) t
GROUP BY t.user_id
) t4
WHERE t3.user_id = t4.user_id
GROUP BY t3.user_id;
-- 创建服务卡与预约明细关系视图
CREATE VIEW rel_service_card_book_detail AS SELECT
s.card_no,
s.card_name,
b.book_no
FROM
service_card s,
book_detail b
WHERE
s.card_no = b.card_no;
-- SELECT * FROM CONSUMER_BASE_INFO_VIEW;
-- SELECT * FROM CONSUMER_SERVICE_CARD_VIEW;
-- SELECT * FROM FEEDBACK_ORDER_VIEW;
-- SELECT * FROM REL_CONSUMER_MERCHANT_VIEW;
-- SELECT * FROM SERVICE_EVALUATION_VIEW;
-- SELECT * FROM REL_SERVICE_CARD_BOOK_DETAIL;