我正在嘗試做一個簡單的mysql請求,我遇到了問題。MySQL JOIN返回意外值
我有一個像下面定義的2個表:
currencies
______________________________________________________________________________________
currency_id | currency_name | currency_symbol | currency_active | currency_auto_update
exchange_rates
____________________________________________________________________________________________________
exchange_rate_id | currency_id | exchange_rate_date | exchange_rate_value | exchange_rate_added_date
我想要做的是選擇內部exchange_rates
最後一排的積極貨幣。
我做了這樣的:
SELECT c.currency_id, c.currency_name, c.currency_symbol, c.currency_active, er.exchange_rate_id, er.exchange_rate_date, er.exchange_rate_value
FROM currencies c
LEFT JOIN (
SELECT er1.exchange_rate_id, er1.currency_id, er1.exchange_rate_date, er1.exchange_rate_value
FROM exchange_rates er1
ORDER BY er1.exchange_rate_date DESC
LIMIT 1
) AS er
ON er.currency_id=c.currency_id
WHERE c.currency_active='1'
這是我返回值NULL
從exchange_rates
表,即使有匹配的行
我試圖刪除LIMIT 1
,但如果我這樣做像這樣將所有行返回給活動貨幣,這不是我想要的解決方案
該查詢應該如何看起來像?
謝謝!
這是工作正常..感謝您的答案..有太多的選擇,我認爲,但工作,因爲我認爲 –
我看到這個工作正常...好!我不知道GROUP BY查詢會返回第一條記錄... +1 – fthiella