Table_欄位對應(多筆取第一筆) |
答題得分者是:Fishman
|
doll_candy
初階會員 發表:110 回覆:53 積分:32 註冊:2002-04-22 發送簡訊給我 |
D6+Sql2000
Dear 大大您們好:
結果:台幣付款(自己加台幣欄位)
2Table:1.應付帳款 2.匯率
Table 1:應付帳款欄位 公司別,幣別,應付日期,原幣金額
Table 2:匯率 欄位 幣別,生效日期,銀行買進匯率
資料1:
AA USD 2004/01/02 200
AA USD 2004/01/05 300
資料2:
USD 2004/01/01 34.2
USD 2004/01/03 34.3
USD 2004/01/04 34.5
USD 2004/01/06 34.4 對應結果
公司別,幣別, 應付日期, 原幣金額, 匯率, 台幣金額
AA USD 2004/01/02 200 34.2 6840
AA USD 2004/01/05 300 34.5 10350
我想用SQL方式顯示
因之前是用程式兩個query再一筆筆寫入StringGrid
時間上似乎慢了很多
所以請問各位大大有否一支Query_ok,直接寫入DBGrid doll_candy
------
doll_candy |
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi doll_candy, 方法一:
寫個 Function,傳入幣別與日期並回傳匯率
SELECT T1.*, GET_EXCHANGE_RATE(T1.CURRENCY,T1.PAYDATE) EXCHANGE_RATE, T1.PRICE * GET_EXCHANGE_RATE(T1.CURRENCY,T1.PAYDATE) TWD_AMOUNT FROM TABLE1 T1 至於 Function 的寫法,你可以自行找資料,或參考方法二的部分 SQL Command,因為沒有寫過所以‧‧‧ > 方法二: < class="code"> SELECT T1.*, T2.RATE, T1.PRICE * T2.RATE TWD_AMOUNT FROM TABLE2 T2, TABLE1 T1 WHERE T2.CURRENCY = T1.CURRENCY AND T2.EFFECTIVEDATE = (SELECT MAX(EFFECTIVEDATE) FROM TABLE2 WHERE CURRENCY = T1.CURRENCY AND EFFECTIVEDATE <= T1.PAYDATE) 但必須特別注意 Outter Join 部分---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman |
doll_candy
初階會員 發表:110 回覆:53 積分:32 註冊:2002-04-22 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |