sql编写场景,
有个车辆进出表,需查出车辆进出时间
id | carNo | time | flag |
1 | 车001 | 2021-12-16 14:00:05 | 1 |
2 | 车001 | 2021-12-16 16:00:06 | 0 |
3 | 车002 | 2021-12-16 15:00:05 | 1 |
4 | 车002 | 2021-12-16 17:00:07 | 0 |
5 | 车003 | 2021-12-16 15:00:05 | 1 |
6 | 车003 | 2021-12-16 16:00:08 | 0 |
希望查询结果
carNo | enter_time | out_time |
车001 | 2021-12-16 14:00:05 | 2021-12-16 16:00:06 |
车002 | 2021-12-16 15:00:05 | 2021-12-16 17:00:07 |
车003 | 2021-12-16 15:00:05 | 2021-12-16 16:00:08 |
SELECT t1.carNo, t1.time AS enter_time, ( SELECT t2.time FROM car t2 WHERE t2.flag = '0' AND t1.carNo = t2.carNo AND t2.time > t1.time LIMIT 1 ) AS out_time FROM car t1 WHERE t1.flag = '1';
具体SQL为:
select t1.carNo, t1.time,