【mysql】根据不同条件查询表中同一字段

需求:

需要在一张表中,查询某个店铺05-17和05-10两天的同一个GMV字段数据

遇到问题:

在测试过程中发现,如果两天中任意一天没有数据,则该店铺整体数据均不显示

解决代码:

SELECT
    a.Seller_nick,
    IFNULL(a.GMV, 0),
    IFNULL(b.GMV, 0) AS last_gmv
FROM
    (
        SELECT
            c.*, date_sub(
                c.STATISTIC_DATE,
                INTERVAL 7 DAY
            ) last_week
        FROM
            tcc_actual c
        WHERE
            c.SHOP_ID IN (
                1,2,3,4
            )
    ) a
LEFT JOIN tcc_actual b ON a.SHOP_ID = b.SHOP_ID
AND a. STATUS = b. STATUS
AND a.last_week = b.STATISTIC_DATE
WHERE
    a. STATUS = 1
AND a.STATISTIC_DATE = '2017-05-17'

查询结果

没有数据的店铺,显示结果为0,这样页面上就能够直观的查看每个店铺的情况

【mysql】根据不同条件查询表中同一字段_第1张图片

你可能感兴趣的:(SQL)