我有以下問題:如何將兩個sql表達式合併爲一個?
- 有必要編寫一個查詢,將輸出'ITEM_ID','price_in_byr'。
- 「price_in_byr」計算爲「價格」的項目表在速度的最大日期從表率乘以匯率。
我爲我的英語道歉,我會嘗試通過例子來解釋:
商品與ITEM_ID = 5費20歐元,在費率表中的最大日期對於歐元是1月12日,當時的匯率是25.我們的'price_in_byr'是25 * 20 = 500
我對臨時表的解決方案:
CREATE TABLE tempRate SELECT currency, MAX(rate) AS maxRate FROM rates GROUP
BY currency;
SELECT items.item_id,(ifnull(tempRate.maxRate,1) * items.price) AS price_in_byr
FROM items
LEFT JOIN tempRate ON items.currency = tempRate.currency;
請告訴我,我該怎麼做,在一個查詢?
MAX(匯率)將返回最高匯率,無論其日期如何,它都不會產生最近匯率(在「最大」**日期**) - 因此無論您在一個查詢或臨時表中執行此操作。 – mathguy
如果您選擇TABS部分中的數據庫產品(您的帖子的底部),這將有所幫助。 Tab-spamming(包括MySQL,SQL Server,Oracle)無濟於事 - 戈登編輯您的帖子以刪除「垃圾郵件」。如果IFNULL爲你工作,那就排除了甲骨文,但否則我們會猜測。 – mathguy
@mathguy,謝謝你的回答。我英語不強,不幸的是需要很長時間才能理解答案。我試圖找出 –