新建和删除视图

一:视图是在使用时动态生成的
二:MySQL视图的定义有一些限制,例如,在FROM关键字后面不能包含子查询,这和其他数据库是不同的
,如果视图是从其他数据库迁移过来的,那么可能需要因此做一些改动,可以将子查询的内容先定义
成一个视图,然后对该视图再创建视图就可以实现类似的功能了。

1:删除视图

drop view if exists `v_t_birthday_gift_detail`;

2.创建新视图

CREATE or REPLACE VIEW `v_t_birthday_gift_detail` AS SELECT
    jcd.id,
    jcd.userName,
    jcd.contractTime as contractTime,
    jcd.userIDCard, 
    jcd.sex,
    CASE
    WHEN jcd.sex IS 0 THENELSEEND AS sexName,
     CASE
WHEN CAST(CONCAT(month(NOW()), DATE_FORMAT(jcd.userBirthDate, '%m')) AS DATE) < CAST(DATE_FORMAT(jcd.interestPeriod, '%y-%m-%d') AS DATE) THEN
    YEAR (NOW()) + 1
ELSE
    YEAR (NOW())
END AS changeYear
    f_formatting_idNo (jcd.userIDCard) AS userIDCardHide,
    date_format(jcd.userBirthDate, '%Y-%m-%d') AS userBirthDate,
    jcd.contractNum,
    jcd.interestPeriod,
    jcd.investExpireDate,
    jcd.branchId,
    jcd.branchName,
    jcd.departmentId,
    jcd.branchDepName,
    jcd.staffId,
    jcd.staffName,
    jcu.userId,
    m.giftName,
    m.giftAmount,
    YEAR (NOW()) AS currentYear,
    CASE
WHEN i.userId IS NULL THEN
    0
ELSE
    1
END AS isChange,
WHEN i.userId IS NULL THENELSEEND AS isChangeName,
 m.giftType,
 DATE_FORMAT(i.`createTime`, '%Y-%m-%d %H:%i:%s') createTime,
 a.`realName` auserName,
 CASE
WHEN CAST(CONCAT(YEAR(NOW()), DATE_FORMAT(jcd.userBirthDate, '-%m-%d')) AS DATE) < CAST(DATE_FORMAT(jcd.interestPeriod, '%y-%m-%d') AS DATE) THEN
    YEAR (NOW()) + 1
ELSE
    YEAR (NOW())
END AS changeYear
FROM
    t_jt_contract_user jcu
LEFT JOIN t_jt_contract_data jcd ON jcd.userIDCard = jcu.userIDCard
LEFT JOIN v_t_birthday_gift_temp i ON i.userId = jcu.userId
LEFT JOIN t_jt_contract_exchange_map m ON i.id = m.cgiId
LEFT JOIN t_jt_staff s ON i.`staffId` = s.`id`
LEFT JOIN `t_admin` a ON s.`adminId` = a.`id`
WHERE
    jcd.contractState = 1
AND jcd.contractFlag IN (2, 3)
AND jcd.redemption IN (2, 6)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值