各位大神,求助,我现在要查询两个表中的数据汇总,以天为单位,左边表中要提取房间信息,开始时间,结束时间,和直播总时长求和,右边表中只需要查询对应这一天的收入总和,但是目前的情况是左边表中有直播记录的时候,右边的表不一定有收入,所以造成了,没有收入的这天,房间直播的记录也查不到了,这个怎么解决呢,以下是我的查询语句,麻烦哪位大神给指点一下,多谢了!
select a.roomid,min(a.starttime),max(a.endtime),sum(to_number(a.endtime-a.starttime)*24*60),to_char(a.starttime,'yyyy-mm-dd'),sum(b.money) from table a
LEFT OUTER JOIN table b on a.roomid=b.roomid
where a.starttime>=to_date('2016-10-01','yyyy-mm-dd')
and a.starttime<to_date('2016-11-01','yyyy-mm-dd')
and b.sltime>=to_date('2016-10-01','yyyy-mm-dd')
and b.sltime<to_date('2016-11-01','yyyy-mm-dd')
and a.roomid=10015
and to_char(a.starttime,'yyyy-mm-dd')=to_char(b.sltime,'yyyy-mm-dd')
group by a.roomid,to_char(a.starttime,'yyyy-mm-dd')
隐约感觉 是两个时间相等造成的左边数据少了,而且右边的求和做出来的也不对,头大啊
select a.roomid,min(a.starttime),max(a.endtime),sum(to_number(a.endtime-a.starttime)*24*60),to_char(a.starttime,'yyyy-mm-dd'),sum(b.money) from table a
LEFT OUTER JOIN table b on a.roomid=b.roomid
where a.starttime>=to_date('2016-10-01','yyyy-mm-dd')
and a.starttime<to_date('2016-11-01','yyyy-mm-dd')
and b.sltime>=to_date('2016-10-01','yyyy-mm-dd')
and b.sltime<to_date('2016-11-01','yyyy-mm-dd')
and a.roomid=10015
and to_char(a.starttime,'yyyy-mm-dd')=to_char(b.sltime,'yyyy-mm-dd')
group by a.roomid,to_char(a.starttime,'yyyy-mm-dd')
隐约感觉 是两个时间相等造成的左边数据少了,而且右边的求和做出来的也不对,头大啊