3,497
社区成员
发帖
与我相关
我的任务
分享
你也可以这样写
select a*,B.车站, B.时间, B.下车 FROM
(select 司机,车次,车号,车站, 时间 ,上下车 AS 上车 from T1 WHERE 上下车=0)A1
join (SELECT 司机,车次,车号,车站, 时间 ,上下车 AS 下车 from T1 WHERE 上下车=1) A2
ON A1.司机=A2.司机 AND A1.,车次=A2.,车次 AND A1.车号=A2.车号
-- 借楼主语句,用个 max 函数就行了
select 司机,
车站,
车号,
max(decode(上下车, 0, 上下车, null)) 上车,
max(decode(上下车, 0, 时间, null)) 上车时间,
max(decode(上下车, 0, 车站, null)) 上车车站,
max(decode(上下车, 1, 上下车, null)) 下车,
max(decode(上下车, 1, 时间, null)) 下车时间,
max(decode(上下车, 1, 车站, null)) 下车车站
from 表
group by 司机, 车次, 车号
order by 司机, 车次, 车号