全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:826
推到 Plurk!
推到 Facebook!

這樣SQL指令如何下??

答題得分者是:speedup
kool0318
一般會員


發表:14
回覆:17
積分:6
註冊:2005-01-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-01 09:57:35 IP:220.130.xxx.xxx 未訂閱
table A fruit date time price apple 0301 0900 10 apple 0301 0930 20 apple 0302 0820 11 apple 0302 0845 17 table B fruit date time price orange 0301 0850 5 orange 0301 0905 3 orange 0302 0800 1 orange 0302 0830 7 假設目前有兩張table,若以table A 為主,若想知道同時間蘋果與柳丁的報價 因為時間不同步,所以柳丁的時間必須小於或等於蘋果時間 結果如下 fruit date time price price(柳丁) apple 0301 0900 10 5 apple 0301 0930 20 3 apple 0302 0820 11 1 apple 0302 0845 17 7 請問這樣的sql指令如何下
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-01 10:07:48 IP:61.70.xxx.xxx 未訂閱
SELECT a.fruit,a.date,a.time,a.price,b.price FROM a INNER JOIN b ON a.Date = b.Date
kool0318
一般會員


發表:14
回覆:17
積分:6
註冊:2005-01-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-01 10:22:54 IP:210.68.xxx.xxx 未訂閱
supman大大,不好意思,你的指令執行後的結果,不是我要的耶......
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-01 10:54:45 IP:61.70.xxx.xxx 未訂閱
抱歉,沒想清楚,您這資料是多對多,以我綱那樣下會變成出現捌筆資料,一般這種樣的資料我都會抓下來再用程式處理,所以我也不曉得如何用一段SQL就將我要的資料得到,拍謝,會的大大請幫忙下下看.
lcjan
初階會員


發表:11
回覆:60
積分:29
註冊:2002-03-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-01 10:57:43 IP:61.59.xxx.xxx 未訂閱
試試看! select a.fruit, a.date, a.time, a.price, b.price from TAB_A a, TAB_B b WHERE a.date=b.date and ((a.time<=b.time) and (Substr(a.time,1,2)=substr(b.time,1,2))) order by a.date, a.time 發表人 - lcjan 於 2005/04/01 12:44:43
kool0318
一般會員


發表:14
回覆:17
積分:6
註冊:2005-01-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-01 11:23:11 IP:220.130.xxx.xxx 未訂閱
不好意思我的time欄位是數值格式
bennykyp
一般會員


發表:11
回覆:31
積分:8
註冊:2004-10-21

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-04-01 11:42:21 IP:219.93.xxx.xxx 未訂閱
select a.fruit, a.date, a.time, a.price, b.price from Table_a a, Table_b b where a.date = b.date and b.time <= a.time order by a.date, a.time
kool0318
一般會員


發表:14
回覆:17
積分:6
註冊:2005-01-11

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-04-01 12:03:54 IP:220.130.xxx.xxx 未訂閱
不好意思 在我實際的資料庫 b.time <= a.time 會有很多筆資料,我只需要最接近的那一筆
speedup
資深會員


發表:19
回覆:259
積分:280
註冊:2003-07-04

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-04-01 14:00:32 IP:220.135.xxx.xxx 未訂閱
如果資料庫有支援subquery的話 你可以試試
 
select A.fruit,A.date,A.time,A.price,
       Price=(select top 1  price from TableB b 
              where (B.date  =A.date) and  (B.time  <=  A.time) 
              order by    B.time desc)
from TableA A
混心雜欲 棄修身~唉
------
唉~
系統時間:2024-06-27 3:20:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!