zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Problem B. Harvest of Apples
    字典树的学习
    PACM Team
    2038: [2009国家集训队]小Z的袜子(hose)
    Naive Operations
    C程序设计语言练习 第三章
    数据结构C++实现-第一章 绪论
    排序
    操作系统设计与实现-第一章:序言
    进制转换
  • 原文地址:https://www.cnblogs.com/Mr-Cxy/p/6100036.html
Copyright © 2011-2022 走看看