oracle 关于数据库联合查询,最好是能创建这样的视图,详细需求看问题补充急需要解答!望高人指点!

有一张表a有begin_time和end_time字段,另外也有一张表b也有begin_time和end_time时,同时b表还有一个字段coal_diff,a,b表时间... 有一张表a有begin_time和end_time字段 ,另外也有一张表b也有begin_time和end_time时,同时b表还有一个字段coal_diff,a,b表时间跨度不一致,a时间跨度比b表大。现需要得到通过查询可以得到,想要得到结果在a表每条记录begin_time和end_time时间段之内,b表中sum(coal_diff)的值,最终显示为 a.begin_time,a.end_time,sum(b.coal_diff) 展开
 我来答
badkano
2013-05-20 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144771 获赞数:885415
团长

向TA提问 私信TA
展开全部
select a.begin_time,a.end_time,sum(b.coal_diff)
from a,b
where b.begin_time>=a.begin_time and b.end_time<=a.end_time
group by a.begin_time,a.end_time

不过说一点,a表内时间或b表内的时间不能有重叠,否则会造成重复计算的问题
更多追问追答
追问
a表中是时间跨度是都是8个小时,b表中的时间跨度15分钟。这样不重复吧
追答
额,我的意思是
比如a表
日期我就不写了,只写时间
00:00 08:00
07:00 15:00

就是第二条记录的话07:00 到08:00 的时间包含在第一条记录的一部分,不存在这种交叉情况就好
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式