主表:
供电仪 类型 开始里程 结束里程
G01 T01 2 4
G02 T02 0 10设备编号 类型 里程
BH01 T01 1
BH02 T01 2
BH03 T01 3
BH04 T01 4
BH05 T01 5
BH06 T02 1
BH07 T02 2
想得到如下数据,SQL语句如何写:
供电仪 类型 开始里程 结束里程 供电设备数
G01 T01 2 4 3
G02 T02 0 10 2
供电仪 类型 开始里程 结束里程
G01 T01 2 4
G02 T02 0 10设备编号 类型 里程
BH01 T01 1
BH02 T01 2
BH03 T01 3
BH04 T01 4
BH05 T01 5
BH06 T02 1
BH07 T02 2
想得到如下数据,SQL语句如何写:
供电仪 类型 开始里程 结束里程 供电设备数
G01 T01 2 4 3
G02 T02 0 10 2
(select count(1) from b where b.类型=a.类型)
WHERE 主表.类型=B.类型
如果发现少主表数据,可以改成左连接或右连接的方式
select a.供电仪 ,a.类型 ,a. 开始里程 ,a. 结束里程,count(b.里程) from 主表a,从表b where b.类型=a.类型 and b.里程 between a.开始里程 and a.结束里程
group by a.供电仪 ,a.类型 ,a. 开始里程 ,a. 结束里程