尝试设置存储过程以用于多系列图表,并且需要为每个客户填写提交范围中的每个日期(即通过IN的变量)的日期值,即使存在在特定日期没有该客户的交易数据。MySQL在数据缺失情况下左连接填充值
我有这样的查询:
select
Customer.Name
, sum(if(Transaction.StopTime > Transaction.StartTime, Transaction.StopTime - Transaction.StartTime,0)) as TimeSpent
, Transaction.Date
from Customer
left outer join Transaction ON Transaction.CustomerID = Customer.CustomerID
and Transaction.Date >= str_to_date(DateFrom,'%m/%d/%Y')
and Transaction.Date <= str_to_date(DateTo,'%m/%d/%Y')
group by Customer.Name, Transaction.Date
返回是这样的:
Name | TimeSpent | Date
------------------------------
john | 6 | 2014-03-01
mary | 12 | 2014-03-01
john | 0 | NULL
mary | 12 | 2014-03-02
john | 4 | 2014-03-03
mary | 0 | NULL
有没有办法让日期的所有行通过子查询或循环通过填充通过变量的值?
像这样:
Name | TimeSpent | Date
------------------------------
john | 6 | 2014-03-01
mary | 12 | 2014-03-01
john | 0 | 2014-03-02
mary | 12 | 2014-03-02
john | 4 | 2014-03-03
mary | 0 | 2014-03-03
你想要日期的自定义值? – Hackerman
需要为所有行填充日期,将期望的结果添加到帖子末尾 – TransitDataHead