表a,
id,arr_name(车次),arrival(到达时间),depart(出发时间)表b
id,arr_name(车次),stn_name_end(终到站)判断如果表a中的arrival,depart,相同,则输出"通过",否则输出arrival,暂时叫结果1,
如果结果1数据id在表b(stn_name_end='北京')这个范围里,则输出"终到"
第一个结果1的sql有了,如何写后面的sql
select arr_name, arrival,depart, decode(arrival-depart,0,'通过',to_char(arrival,'yyyy-mm-dd hh24:mi:ss')) a from b_trainline_ttime where stn_name='北京';
最终的select
--------------------------------------
id, satate, arriveal111 通过 2013-9-9 17:23:02
203 终到 2013-9-9 17:23:02
144 通过 2013-9-9 17:23:02
755 终到 2013-9-9 17:23:02
id,arr_name(车次),arrival(到达时间),depart(出发时间)表b
id,arr_name(车次),stn_name_end(终到站)判断如果表a中的arrival,depart,相同,则输出"通过",否则输出arrival,暂时叫结果1,
如果结果1数据id在表b(stn_name_end='北京')这个范围里,则输出"终到"
第一个结果1的sql有了,如何写后面的sql
select arr_name, arrival,depart, decode(arrival-depart,0,'通过',to_char(arrival,'yyyy-mm-dd hh24:mi:ss')) a from b_trainline_ttime where stn_name='北京';
最终的select
--------------------------------------
id, satate, arriveal111 通过 2013-9-9 17:23:02
203 终到 2013-9-9 17:23:02
144 通过 2013-9-9 17:23:02
755 终到 2013-9-9 17:23:02
select b.id decode(b.id,ax.id,'终到',b.id),ax.arr_name from b left join(
select arr_name, arrival,depart, decode(arrival-depart,0,'通过',to_char(arrival,'yyyy-mm-dd hh24:mi:ss')) a from b_trainline_ttime where stn_name='北京'
)ax on b.arr_name= ax.arr_name
case
when b.stn_name_end='北京' '终到'
when a.arrival=a.depart then '通过'
else a.arrival
end
as state,
a.depart,
from a, b where a.id=b.id