1 问题运行SQL取数语句出错?。

答案:因为运行SQL文件时没有这个表。新的数据库里面

解决方法:

  1.   获取需要建立的二维表创建语句
  2. 新建查询
  3. 输入语句,点击运行即可

解释注释语句:

主体为五个字段的主表。接下来都是添加的类似需要的计算字段。

重置为子表与主表进行关联取数。一个字段为一个表。

#控奶新客:T-14至T-7内购买大于等于1,且T-14至T-194(最远到7月)未购控奶
#T为1月13日;
DELETE
FROM
`0114-0120控奶新客`; #写入会员基本信息
INSERT INTO `0114-0120控奶新客` (
门店ID,
门店,
会员姓名,
手机号码,
控奶首购时间
) SELECT
*
FROM
(
SELECT
a.salesdepart_id AS 门店ID,
b.`name` AS 门店,
c.`name` AS 会员姓名,
c.mobile AS 手机号码,
MIN(d.create_date) AS `控奶首购时间`
FROM
arm_changsha.goods_sales AS a
LEFT JOIN arm_changsha.sys_office AS b ON b.id = a.salesdepart_id # 表关联信息。逻辑表关联
LEFT JOIN arm_changsha.ms_member_def AS c ON c.id = a.member_id
LEFT JOIN arm_changsha.goods_sales_detail AS d ON d.sales_id = a.id
LEFT JOIN arm_changsha.goods_base AS e ON e.id = d.goods_id
WHERE
a.sales_type = ''
AND d.barcode IN (
SELECT
条码
FROM
`tmp_通货`
WHERE
商品标签 = '非通货'
AND 大类 LIKE '01%'
)
AND c.mobile NOT IN (
SELECT
mobile
FROM
`7~9月英克系统消费客户统计`
)
AND c.mobile IS NOT NULL
GROUP BY
c.mobile
) AS L
WHERE
`控奶首购时间` >= '2018-12-31 00:00:00'
AND `控奶首购时间` <= '2019-01-06 23:59:59'; #写入首购购买数量
UPDATE `0114-0120控奶新客` AS a
SET a.`控奶首购数量` = (
SELECT
sum(b.sales_number) AS 购买数量
FROM
arm_changsha.goods_sales_detail AS b
LEFT JOIN arm_changsha.goods_sales AS d ON d.id = b.sales_id
LEFT JOIN arm_changsha.ms_member_def AS c ON c.id = d.member_id
LEFT JOIN arm_changsha.goods_base AS e ON e.id = b.goods_id
WHERE
c.mobile = a.手机号码
AND b.create_date = a.控奶首购时间
AND e.kind_id LIKE '01%'
AND d.sales_type = ''
AND b.barcode IN (
SELECT
条码
FROM
`tmp_通货`
WHERE
商品标签 = '非通货'
AND 大类 LIKE '01%'
)
); #写入T+7控货奶粉购买数量
UPDATE `0114-0120控奶新客` AS a
SET a.`T+7控奶购买数量` = (
SELECT
sum(b.sales_number) AS 购买数量
FROM
arm_changsha.goods_sales_detail AS b
LEFT JOIN arm_changsha.goods_sales AS d ON d.id = b.sales_id
LEFT JOIN arm_changsha.ms_member_def AS c ON c.id = d.member_id
WHERE
c.mobile = a.手机号码
AND b.create_date >= '2019-01-21 00:00:00'
AND b.create_date <= '2019-01-27 23:59:59'
AND d.sales_type = ''
AND b.barcode IN (
SELECT
条码
FROM
`tmp_通货`
WHERE
商品标签 = '非通货'
AND 大类 LIKE '01%'
)
); #写入T+7复购金额
UPDATE `0114-0120控奶新客` AS a
SET a.`T+7复购金额` = (
SELECT
ROUND(SUM(b.real_pay) / 10000, 2) AS 累计消费金额
FROM
arm_changsha.goods_sales AS b
LEFT JOIN arm_changsha.ms_member_def AS c ON c.id = b.member_id
WHERE
c.mobile = a.手机号码
AND b.create_date >= '2019-01-21 00:00:00'
AND b.create_date <= '2019-01-27 23:59:59'
AND b.sales_type = ''
GROUP BY
b.member_id
); #写入T+7购买次数
UPDATE `0114-0120控奶新客` AS a
SET a.`T+7小票数` = (
SELECT
COUNT(DISTINCT b.sales_id)
FROM
arm_changsha.goods_sales_detail AS b
LEFT JOIN arm_changsha.goods_sales AS d ON d.id = b.sales_id
LEFT JOIN arm_changsha.ms_member_def AS c ON c.id = d.member_id
WHERE
c.mobile = a.手机号码
AND b.create_date >= '2019-01-21 00:00:00'
AND b.create_date <= '2019-01-27 23:59:59'
AND d.sales_type = ''
); #写入近90日充值金额
UPDATE `0114-0120控奶新客` AS a
SET a.`近90日充值金额` = (
SELECT
ROUND(
sum(b.use_recharge_balance) / 10000,
2
) AS 充值金额
FROM
arm_changsha.ms_member_card_log AS b
LEFT JOIN arm_changsha.ms_member_def AS c ON c.id = b.member_id
LEFT JOIN arm_changsha.ms_acct_book_def AS d ON d.member_id = b.member_id
WHERE
c.mobile = a.手机号码
AND d.acct_id IS NOT NULL
AND b.oper_type IN ('', '', '')
AND b.create_date >= '2018-10-16 00:00:00'
AND b.create_date <= '2019-01-13 23:59:59'
); #写入近90天控货奶粉购买数量
UPDATE `0114-0120控奶新客` AS a
SET a.`近90日控奶购买数量` = (
SELECT
sum(b.sales_number) AS 购买数量
FROM
arm_changsha.goods_sales_detail AS b
LEFT JOIN arm_changsha.goods_sales AS d ON d.id = b.sales_id
LEFT JOIN arm_changsha.ms_member_def AS c ON c.id = d.member_id
WHERE
c.mobile = a.手机号码
AND b.create_date >= '2018-10-16 00:00:00'
AND b.create_date <= '2019-01-13 23:59:59'
AND d.sales_type = ''
AND b.barcode IN (
SELECT
条码
FROM
`tmp_通货`
WHERE
商品标签 = '非通货'
AND 大类 LIKE '01%'
)
); #判断是否运营门店
UPDATE `0114-0120控奶新客` AS a
SET a.`是否运营门店` = CASE
WHEN a.门店ID IN (
'',
'',
'',
''
) THEN
'是'
ELSE
'否'
END; #判断是否稳定
UPDATE `0114-0120控奶新客` AS a
SET a.`是否稳定` = CASE
WHEN a.近90日控奶购买数量 >= ''
OR a.近90日充值金额 >= '' THEN
'是'
ELSE
'否'
END;

表关联逻辑,对应键值。

NAVICAT PREMIUM 初识的更多相关文章

  1. 数据库管理工具GUI - PremiumSoft Navicat Premium Enterprise 11.2.15 x86/x64 KEY

    转载自: 数据库管理工具GUI - PremiumSoft Navicat Premium Enterprise 11.2.15 x86/x64 KEY Navicat Premium(数据库管理工具 ...

  2. mysql 5.7 的安装配置与 navicat premium for mysql 11 的破解使用

    再安装mysql5.7 或以上的版本出现了一些问题,现在总结下,希望能给初入学习mysql的人一下帮助,大牛就不要来嘲笑小弟我了 首先准备如下: 1.下载mysql 5.7,下载地址:https:// ...

  3. Navicat Premium相关注册码

    --Navicat for SQL Server V10.0.10NAVD-3CG2-6KRN-IEPMNAVL-NIGY-6MYY-XWQENAVI-C3UU-AAGI-57FW --Navicat ...

  4. Navicat premium工具常用快捷键

    Navicat premium是一款数据库管理工具,它可以以单一程式同时连线到MySQL.PostgreSQL. Oracle .SQL Server 及 SQLite 资料库,让管理不同类型的资料库 ...

  5. 用Navicat Premium 远程连接oracle数据库

    1.安装Navicat Premium软件(我的是11.0.7版本)(假设安装路径为D:\NavicatLite\Navicat Premium) 2.下载 instantclient-basic-n ...

  6. 在64位Win7中使用Navicat Premium 和PL\SQL Developer连接Oracle数据库备忘

    最近接手了一个项目,服务器端数据库是oracle 11g 64位.由于主要工作不是开发,也不想在自己的电脑上安装庞大的oracle数据库,因此寻思着只通过数据库管理工具连接数据库进行一些常用的查询操作 ...

  7. mac上安装Navicat Premium 破解版+汉化包

    Navicat是一款非常强大的sql分析管理工具.以前一直在windows上面使用. 由于工作的需要,我也是折腾出了这不易的mac破解版.下了好多网上的版本,亲测这个可用. 俗话说:工欲善其事,必先利 ...

  8. mycat启动后,用Navicat Premium 连接报 "2013"

    最近在学习mycat,启动后,用Navicat Premium 连接报 "2013"  Lost Connection During Query ,经过一顿百度也没发现是怎么回事, ...

  9. 关于Navicat Premium导入xlsx的问题

    这段时间由于工作需要,频繁通过Oracle导入/导出大量数据,测试了很多软件,都不理想.PL/SQL Developer导入.导出都卡死:Oracle SQL Developer也是导入.导出都卡的半 ...

随机推荐

  1. ubuntu17.04 配置go环境变量

    把官网下载好的tar解压后,go文件夹放到 /usr/local 目录下 在当前用户的 .bashrc 文件末尾添加 这句话 export PATH=$PATH:/usr/local/go/bin 执 ...

  2. 软件磁盘阵列(RAID)

    RAID软件磁盘阵列 RAID 即廉价磁盘冗余阵列,其高可用性和可靠性适用于大规模环境中,相比正常使用,数据更需要被保护.RAID 是将多个磁盘整合的大磁盘,不仅具有存储功能,同时还有数据保护功能. ...

  3. Centos(Yum源更改)

    第一步:备份你的原镜像文件,以免出错后可以恢复. [root@openstack yum.repos.d]#mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum. ...

  4. iOS git 托管代码 常用几个操作

    学习 git 切换分支 1  从远程下载一个分支develop(本地没有的) (1) git fetch origin develop (2) git checkout develop (默认 分支切 ...

  5. linux切换用户命令

    1. 切换用户的命令为:su +username 2.从普通用户切换到root用户:sudo su 3.退回到原来的用户:exit命令或logout,或者ctrl+d 4.如果要切换到新用户的工作环境 ...

  6. $python正则表达式系列(5)——零宽断言

    本文主要总结了python正则零宽断言(zero-length-assertion)的一些常用用法. 1. 什么是零宽断言 有时候在使用正则表达式做匹配的时候,我们希望匹配一个字符串,这个字符串的前面 ...

  7. STM32f103的电阻触摸屏的五点校正算法

    源:STM32f103的电阻触摸屏的五点校正算法 STM32f103的触摸屏的设置与使用

  8. java经典30笔试题

    1. 下面哪些是Thread类的方法() A start()       B run()       C exit()       D getPriority() 答案:ABD 解析:看Java AP ...

  9. 超酷Loading进度条

    在线演示 本地下载

  10. 20165101刘天野 2017-2018-2 《Java程序设计》第7周学习总结

    #20165101刘天野 2017-2018-2 <Java程序设计>第7周学习总结 教材学习内容总结 第十一章JDBC与MySQL数据库 JDBC简介 JDBC(Java Databas ...