作者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