請教各位先進關於T-SQL用法, 有二個TABLE如下:
A TABLE 欄位 MF001,MF002 (幣別,說明)
B TABLE 欄位 MG001,MG002,MG003 (幣別,生效日,匯率)
用這個只能顯示所有的幣別匯率
select A.MF001,B.MG002,B.MG003
from CMSMF A inner join CMSMG B on A.MF001=B.MG001
order by A.MF001, B.MG002 desc
請問如果只想知道每個幣別的最近生效日的匯率即可,該怎麼做?
(生效日每個幣別基準不同, 無法統一用生效日來做過濾條件)
例如:幣別有 EUR, JPY, RMB
匯率生效日, 各對應多筆資料, 只要抓最新的.
ycl8000提到:
A TABLE 欄位 MF001,MF002 (幣別,說明)
B TABLE 欄位 MG001,MG002,MG003 (幣別,生效日,匯率)
答案出來了
可以參考我們的系統
-- Get Rate
DECLARE
CURSOR CUR_Rate IS
SELECT MultiplyRate
FROM C_Conversion_Rate
WHERE C_Currency_ID=v_CurrencyFrom AND C_Currency_ID_To=v_CurrencyTo
AND C_ConversionType_ID=v_ConversionType_ID
AND v_ConvDate BETWEEN ValidFrom AND ValidTo
AND AD_Client_ID IN (0,p_Client_ID) AND AD_Org_ID IN (0,p_Org_ID)
ORDER BY AD_Client_ID DESC, AD_Org_ID DESC, ValidFrom DESC;
BEGIN
FOR c IN CUR_Rate LOOP
v_Rate := c.MultiplyRate;
EXIT; -- only first
END LOOP;
END;
-- Not found
IF (v_Rate IS NULL) THEN
DBMS_OUTPUT.PUT_LINE('Conversion Rate Not Found');
RETURN NULL;
END IF;
Opensource ERP iDempiere 全球最多人使用的
iDempiere 台灣支持團隊
Albert
敬上
albertachen提到:
http://wiki.idempiere.org/zh/
歡迎 大家 指教 謝謝
albertachen提到:
iDempiere 台灣支持團隊
亂來,根本沒你這個團隊好不好?
不要往自已臉上貼金了!
台灣支持團隊
根據我對阿伯中文程度的了解,這句應該是動詞,表示阿伯支持台灣的團隊...
cdfu提到:
阿伯支持台灣的團隊.
感謝支持...
Open Source ERP社群籌備處 敬上....
感謝大家支持 simon581923 Open Source ERP社群籌備處
謝謝大家支持 simon581923 感謝大家
cdfu
謝謝 cdfu 謝謝大家支持 simon581923 感謝大家
albertachen提到:
iDempiere 台灣支持團隊
simon581923提到:
亂來,根本沒你這個團隊
歷史上劉備團隊, 曹操團隊, 朱元璋團隊都是從一個人而開始壯大起來.
李白先生自己也搞了一個月亮和影子的三人團隊.
所以請賽大不要否定阿伯的iDempiere 台灣支持團隊, 因為團隊一定是從一個人開始.
tecksin提到:
歷史上...
這點我同意,有些人的確是默默再創想的小種子,但推廣的人又說很爛,我就有點搞不清楚狀況了。
(莫非...朝代不同?)
tecksin提到:
歷史上劉備團隊, 曹操團隊, 朱元璋團隊都是從一個人而開始壯大起來.
我同意,但這些團隊的中心人物都是抱持遠大理想在推廣他們的理念,從而獲致眾人的支持。
但阿伯....嘿嘿嘿....自已都說不要用的....
下面指令你試試看..
因為我這裡沒有你的資料可以Try,所以只能暫時用想的..
這個指令可能會有錯誤,你可以先一試,若有錯誤,可再貼上來檢討。
select A.MF001,B.MG002,B.MG003
from CMSMF A inner join CMSMG B (on B.MG001 = A.MF001 And
B.MG002 = (Select Distinct MAX(X.MG002)
From CMSMG X
Group By X.MG001))
order by A.MF001, B.MG002 desc
SELECT D.MG001, D.MG002, D.MG003
from CMSMG D, (select A.MF001 as MF001 ,max(B.MG002) as MG002
from CMSMF A, CMSMG B
where A.MF001=B.MG001
Group By A.MF001) C
where D.MG001=C.MF001
and D.MG002=C.MG002