請問該資料庫搜尋該如何找到第一筆資料 |
答題得分者是:careychen
|
17kobe
初階會員 發表:86 回覆:73 積分:31 註冊:2007-07-30 發送簡訊給我 |
我的資料表(access資料庫)有三個欄位,如下列所示:
流水號 日期 淨值 1 2007/12/29 25.3 2 2007/12/30 25.4 3 2007/12/31 25.6 4 2008/01/01 25.1 5 2008/01/02 25.3 我想要找到某個條件搜尋的最前面那一筆資料就好了,但是我不清楚要下什麼語法比較好 用top 1又好像有錯(可能是我下錯),該怎麼來寫呢,是用min、top 1 或limit的語法會比較好? 以下是我用min的語法,感覺也不是很好,而且還會有List index out of bounds(115)的問題( 也許這個問題是因為多執行序害的 ) sSQL := 'select 淨值,日期 from Table1 where 日期 IN (select min(日期) from Table1 where 日期>=#2008/01/01#);' |
careychen
尊榮會員 發表:41 回覆:580 積分:959 註冊:2004-03-03 發送簡訊給我 |
===================引 用 17kobe 文 章=================== 我的資料表(access資料庫)有三個欄位,如下列所示: 流水號 日期 淨值 1 2007/12/29 25.3 2 2007/12/30 25.4 3 2007/12/31 25.6 4 2008/01/01 25.1 5 2008/01/02 25.3 我想要找到某個條件搜尋的最前面那一筆資料就好了,但是我不清楚要下什麼語法比較好 用top 1又好像有錯(可能是我下錯),該怎麼來寫呢,是用min、top 1 或limit的語法會比較好? 以下是我用min的語法,感覺也不是很好,而且還會有List index out of bounds(115)的問題( 也許這個問題是因為多執行序害的 ) sSQL := 'select 淨值,日期 from Table1 where 日期 IN (select min(日期) from Table1 where 日期>=#2008/01/01#);' 看你的要語法,是要找出所有日期大於 2008/1/1 的資料中第一筆,那可以像這樣寫 Select Top 1 淨值, 日期 from Table1 where 日期 >=#2008/1/1# order by 日期 至於 List index out of bounds(115) 這個嘛~~,看看你是不是用 List 之類的東西,然後你拿的陣列值超出他的範圍
------
價值的展現,來自於你用哪一個角度來看待它!! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |