Sql 一张表中id和时间作为条件查询另一张表

天隙流光 2016-05-23 10:14:39
如图
表 A
id min_time max_time
1 2016-01-01 2016-05-01
2 2016-03-01 2016-05-01
3 2016-01-11 2016-04-01

表 B
id min_time max_time no
1 2016-01-01 2016-05-01 100
2 2016-03-01 2016-05-01 101
3 2016-01-11 2016-04-01 102
1 2016-04-01 2016-05-01 103
2 2016-03-01 2016-05-01 104
3 2016-01-11 2016-04-01 105
表一作为条件,查询B中的数量,
...全文
468 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
welcome5 2016-05-25
  • 打赏
  • 举报
回复
引用 7 楼 roy_88 的回复:
[quote=引用 6 楼 welcome5 的回复:] [quote=引用 4 楼 roy_88 的回复:]
SELECT a.ID,b.min_time,a.max_time,SUM(b.[no]) AS [no] FROM A INNER JOIN B ON a.ID=b.ID AND a.min_time<b.max_time AND b.min_time<a.max_time GROUP BY a.ID,b.min_time,a.max_time
日期比较应该加上 “=”[/quote] 这是日期范围交集的用法,你没看懂[/quote] 学习中
中国风 2016-05-24
  • 打赏
  • 举报
回复
引用 6 楼 welcome5 的回复:
[quote=引用 4 楼 roy_88 的回复:]
SELECT a.ID,b.min_time,a.max_time,SUM(b.[no]) AS [no] FROM A INNER JOIN B ON a.ID=b.ID AND a.min_time<b.max_time AND b.min_time<a.max_time GROUP BY a.ID,b.min_time,a.max_time
日期比较应该加上 “=”[/quote] 这是日期范围交集的用法,你没看懂
welcome5 2016-05-24
  • 打赏
  • 举报
回复
引用 4 楼 roy_88 的回复:
SELECT a.ID,b.min_time,a.max_time,SUM(b.[no]) AS [no] FROM A INNER JOIN B ON a.ID=b.ID AND a.min_time<b.max_time AND b.min_time<a.max_time GROUP BY a.ID,b.min_time,a.max_time
日期比较应该加上 “=”
中国风 2016-05-23
  • 打赏
  • 举报
回复
SELECT a.ID,b.min_time,a.max_time,SUM(b.[no]) AS [no] FROM A INNER JOIN B ON a.ID=b.ID AND a.min_time<b.max_time AND b.min_time<a.max_time GROUP BY a.ID,b.min_time,a.max_time
中国风 2016-05-23
  • 打赏
  • 举报
回复
SELECT a.*,b.[no] FROM A INNER JOIN B ON a.ID=b.ID AND a.min_time<b.max_time AND b.min_time<a.max_time
给你写一个看看是不是这样效果
天隙流光 2016-05-23
  • 打赏
  • 举报
回复
表A的时间作为条件,在这之间的表B的no总数
中国风 2016-05-23
  • 打赏
  • 举报
回复
时间有交叉时成不成立? 如: 01-01 05-01--A 02-01 06-01--B 结果是只显示B表,数量用不用汇总

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧