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