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. windows下 安装python_ldap MySQL-python

    //////////////////////////////////////////////////// 失败  ----------------------------------------  F ...

  2. Axure快捷键

    基本快捷键: 打开:Ctrl + O 新建:Ctrl + N 保存:Ctrl + S 退出:Alt + F4 打印:Ctrl + P 查找:Ctrl + F 替换:Ctrl + H 复制:Ctrl + ...

  3. Java基础—序列化与反序列化(转载)

    转载自: Java序列化与反序列化 1.Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列的过程:而Java反序列化是指把字节序列恢复为Java对象的过程. 2.为什么需要序列化 ...

  4. 20170421 F110 常见问题

    F110常見問題以及處理方式 1. Vendor中沒有與F110中相同的Payment method 解決辦法: 在Vendor主檔中維護Payment method 2. 結報被Block 解決辦法 ...

  5. 虚拟化qemu-img的简单用法。

    qemu-img 命​令​行​工​具​是​ Xen 和​ KVM 用​来​格​式​化​各​种​文​件​系​统​的​,可​使​用​ qemu-img 格​式​化​虚​拟​客​户​端​映​像​.​附​加​ ...

  6. 标准c字符和字符串的使用方法

    cppreference.com -> Standard C String & Character -> 详解 标准c字符和字符串 atof 语法:     #include &l ...

  7. (转) FLASH吸血鬼的工作原理

    FLASH吸血鬼是众多网友用来从exe可执行文件中提取swf的利器,其直接读取内存,从内存中取出swf文件.经过分析,发现其原理还是比较简单的.第一步.通过GetWindowThreadProcess ...

  8. 小程序 height100% Android ios上的不同表现

    Android还是按原图显示 ios,会完全覆盖

  9. CodeForces - 691E Xor-sequences 【矩阵快速幂】

    题目链接 http://codeforces.com/problemset/problem/691/E 题意 给出一个长度为n的序列,从其中选择k个数 组成长度为k的序列,因为(k 有可能 > ...

  10. iOS imageNamed VS imageWithContentsOfFile

    今天 又学习了 一个 提高应用交互效率 降低内存的 小知识 结论: (1)mageNamed加载图片,并且把image缓存到内存里面, (2)imageWithContentsOfFile是只显示图片 ...