我有以下数据:
entry storenum busidate daily_budget
1 1 2017-07-01 4000
2 1 2017-07-02 1000
3 1 2017-07-03 6000
4 1 2017-07-04 7000
5 1 2017-07-05 12000
我需要显示日期范围之间的所有数据。
我试图在范围日期之间显示所有数据。这是我目前的查询:
SELECT
(CASE WHEN a.busidate BETWEEN '2017-07-01' AND '2017-07-05' THEN a.daily_budget ELSE 0 END) as Ideal,
b.store_name, b.storenum
FROM dummy_daily a JOIN site_store b ON b.storenum=a.storenum
WHERE b.storenum='1'
GROUP BY a.storenum
以上查询仅向我提供2017-07-01
的结果,而不是2017-07-01
和2017-07-05
之间的数据。以下是我的查询结果示例:
Ideal store_name storenum
4000 Sunway Putra Mall 1
我需要显示日期范围之间的所有数据。
答案 0 :(得分:0)
感谢@Sumon Sarker作为你的Sugggestion。你的建议是完全正确的 这是显示日期之间所有行的答案
SELECT
a.daily_budget as Ideal,
b.store_name, b.storenum
FROM dummy_daily a JOIN site_store b ON b.storenum=a.storenum
WHERE b.storenum='1' and a.busidate BETWEEN '2017-07-01' AND '2017-07-05'
GROUP BY a.busidate
答案 1 :(得分:0)
罪魁祸首可能是“GROUP BY”
尝试以下查询
SELECT
b.storenum,
b.store_name,
(CASE
WHEN a.busidate BETWEEN '2017-07-01' AND '2017-07-05'
THEN a.daily_budget ELSE 0 END
) AS Ideal
FROM dummy_daily a JOIN site_store b ON b.storenum=a.storenum
WHERE b.storenum=1
GROUP BY b.storenum,b.store_name, Ideal