MySQL_产品昨日库存与历史入库历史出库成本_20161124

Posted Mr_Cxy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL_产品昨日库存与历史入库历史出库成本_20161124相关的知识,希望对你有一定的参考价值。

产品昨日库存与历史入库历史出库成本

SELECT d.ID,a.*,e.昨日订单额
,b.昨天入库额,b.历史2天,b.历史3天,b.历史4天,b.历史5天,b.历史6天,b.历史7天,b.历史8天,b.历史9天,b.历史10天
,b.历史11天,b.历史12天,b.历史13天,b.历史14天,b.历史15天,b.历史16天,b.历史17天,b.历史18天,b.历史19天
,b.历史20天,b.历史21天,b.历史22天,b.历史23天,b.历史24天,b.历史25天,b.历史26天,b.历史27天,b.历史28天,b.历史29天,b.历史30天
,c.昨天出库成本,c.历史2天,c.历史3天,c.历史4天,c.历史5天,c.历史6天,c.历史7天,c.历史8天,c.历史9天,c.历史10天
,c.历史11天,c.历史12天,c.历史13天,c.历史14天,c.历史15天,c.历史16天,c.历史17天,c.历史18天,c.历史19天
,c.历史20天,c.历史21天,c.历史22天,c.历史23天,c.历史24天,c.历史25天,c.历史26天,c.历史27天,c.历史28天,c.历史29天,c.历史30天
FROM (#昨日有库存的SKU库存总额
    SELECT 城市,DATE(日期) AS 昨日,b1.商品分类一级,b1.商品分类二级,b1.商品分类三级,a1.产品ID,a1.商品名称,a1.库存总额
    FROM a014_stock_daily AS a1
    LEFT JOIN a002_sku AS b1 ON a1.产品ID=b1.产品ID
    WHERE DATE(日期)=DATE_ADD(CURRENT_DATE,INTERVAL -1 DAY) AND 库存总数>0
) AS a
LEFT JOIN (#历史30天入库金额
    SELECT 城市,产品ID
    ,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -1 DAY),总金额,NULL)) AS 昨天入库额,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -2 DAY),总金额,NULL)) AS 历史2天
    ,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -3 DAY),总金额,NULL)) AS 历史3天,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -4 DAY),总金额,NULL)) AS 历史4天
    ,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -5 DAY),总金额,NULL)) AS 历史5天,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -6 DAY),总金额,NULL)) AS 历史6天
    ,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -7 DAY),总金额,NULL)) AS 历史7天,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -8 DAY),总金额,NULL)) AS 历史8天
    ,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -9 DAY),总金额,NULL)) AS 历史9天,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -10 DAY),总金额,NULL)) AS 历史10天
    ,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -11 DAY),总金额,NULL)) AS 历史11天,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -12 DAY),总金额,NULL)) AS 历史12天
    ,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -13 DAY),总金额,NULL)) AS 历史13天,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -14 DAY),总金额,NULL)) AS 历史14天
    ,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -15 DAY),总金额,NULL)) AS 历史15天,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -16 DAY),总金额,NULL)) AS 历史16天
    ,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -17 DAY),总金额,NULL)) AS 历史17天,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -18 DAY),总金额,NULL)) AS 历史18天
    ,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -19 DAY),总金额,NULL)) AS 历史19天,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -20 DAY),总金额,NULL)) AS 历史20天
    ,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -21 DAY),总金额,NULL)) AS 历史21天,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -22 DAY),总金额,NULL)) AS 历史22天
    ,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -23 DAY),总金额,NULL)) AS 历史23天,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -24 DAY),总金额,NULL)) AS 历史24天
    ,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -25 DAY),总金额,NULL)) AS 历史25天,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -26 DAY),总金额,NULL)) AS 历史26天
    ,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -27 DAY),总金额,NULL)) AS 历史27天,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -28 DAY),总金额,NULL)) AS 历史28天
    ,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -29 DAY),总金额,NULL)) AS 历史29天,SUM(IF(DATE(入库日期)=DATE_ADD(CURRENT_DATE,INTERVAL -30 DAY),总金额,NULL)) AS 历史30天
    FROM a006_stock_in_item
    GROUP BY 城市,产品ID
) AS b ON a.城市=b.城市 AND a.产品ID=b.产品ID
LEFT JOIN (#昨天出库成本
    SELECT 城市,产品ID
    ,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -1 DAY),成本额,NULL)) AS 昨天出库成本,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -2 DAY),成本额,NULL)) AS 历史2天
    ,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -3 DAY),成本额,NULL)) AS 历史3天,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -4 DAY),成本额,NULL)) AS 历史4天
    ,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -5 DAY),成本额,NULL)) AS 历史5天,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -6 DAY),成本额,NULL)) AS 历史6天
    ,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -7 DAY),成本额,NULL)) AS 历史7天,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -8 DAY),成本额,NULL)) AS 历史8天
    ,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -9 DAY),成本额,NULL)) AS 历史9天,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -10 DAY),成本额,NULL)) AS 历史10天
    ,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -11 DAY),成本额,NULL)) AS 历史11天,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -12 DAY),成本额,NULL)) AS 历史12天
    ,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -13 DAY),成本额,NULL)) AS 历史13天,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -14 DAY),成本额,NULL)) AS 历史14天
    ,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -15 DAY),成本额,NULL)) AS 历史15天,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -16 DAY),成本额,NULL)) AS 历史16天
    ,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -17 DAY),成本额,NULL)) AS 历史17天,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -18 DAY),成本额,NULL)) AS 历史18天
    ,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -19 DAY),成本额,NULL)) AS 历史19天,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -20 DAY),成本额,NULL)) AS 历史20天
    ,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -21 DAY),成本额,NULL)) AS 历史21天,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -22 DAY),成本额,NULL)) AS 历史22天
    ,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -23 DAY),成本额,NULL)) AS 历史23天,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -24 DAY),成本额,NULL)) AS 历史24天
    ,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -25 DAY),成本额,NULL)) AS 历史25天,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -26 DAY),成本额,NULL)) AS 历史26天
    ,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -27 DAY),成本额,NULL)) AS 历史27天,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -28 DAY),成本额,NULL)) AS 历史28天
    ,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -29 DAY),成本额,NULL)) AS 历史29天,SUM(IF(DATE(应收日)=DATE_ADD(CURRENT_DATE,INTERVAL -30 DAY),成本额,NULL)) AS 历史30天
    FROM `a005_account`
    GROUP BY 城市,产品ID
) AS c ON a.城市=c.城市 AND a.产品ID=c.产品ID
LEFT JOIN `a000_city` AS d ON d.城市=a.城市
LEFT JOIN (#昨天订单额
    SELECT 城市,产品ID,SUM(IF(DATE(订单日期)=DATE_ADD(CURRENT_DATE,INTERVAL -1 DAY),金额,NULL)) AS 昨日订单额
    FROM `a003_order`
    WHERE 金额>0 
    GROUP BY 城市,产品ID
) AS e ON a.城市=e.城市 AND a.产品ID=e.产品ID
WHERE 商品分类一级 IS NOT NULL
ORDER BY d.ID,商品分类一级,商品分类二级,商品分类三级,a.产品ID

 

以上是关于MySQL_产品昨日库存与历史入库历史出库成本_20161124的主要内容,如果未能解决你的问题,请参考以下文章

第三轮面试

PoEdu-Windows编程-Lesson04_项目开始_阶段学习重点

库存物资管理系统-测试

软件工程实训 服装库存管理系统

库存物资管理系统

javaweb库存物资管理系统思路与总结