作者huang0210 (找到方向 3000)
看板Database
标题[SQL ] 请问找到最近一笔时间的Join Table
时间Thu May 29 22:31:06 2008
不好意思
有2个SQL语法的问题想不太出来
想请教大家
1. 如何用Select语法让一个栏位的值往前跑
如:
Table A Table A'
a b a b c
1 1:00 1 1:00 2:00
2 2:00 Select(...)後 变成 => 2 2:00 3:00
3 3:00 3 3:00 NULL
把b栏位的值,往前上移一个,并当作c的值,最後没得移则补NULL
有办法这样吗?
2.如何把两个Table Join起来,条件是 取出 第一个符合条件的值来当作输出 ,
如:
Table A Table B
x time name start end
1 0:00 s1 1:55 2:00
2 1:30 s2 2:30 3:00
3 4:00 s3 5:30 6:00
4 5:00
TableA:每辆公车出发的时间
TableB:一个人开始在车上睡觉的时间
如何将 A 的 start 与 B 的 time 比对
找到一个Table B的time 是比TableA的tstart小,但却是比它小里面中最大的
(越讲越复杂)
比如 上面的TABLE A和B Join後就变成
x time a start end
1 0:00
2 1:30 s1 1:55 2:00
2 1:30 s2 2:30 3:00
3 4:00
4 5:00 s3 5:30 6:00
两个Table JOIN之後,就能得知哪一个人在哪一辆车睡了多久
可以如何写一个SQL语法把两个Table JOIN起来吗
想用Left Join 可是条件不知道怎麽下…
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.81.195.185
※ 编辑: huang0210 来自: 219.81.195.185 (05/29 22:45)
1F:推 Antzzz:1.把排序号做出来,用序号join 2.用巢状回圈做…很累… 05/30 12:29
2F:推 Antzzz:我写错了,是巢状子查询。Oracle好像有更简单的方法 05/30 12:34