私は2つのテーブルを持っています:
money_change:
id_change | id_factor | d_change | date
---------------------------------------------
1 5 0.10 2012-06-07
2 6 0.11 2012-06-07
3 5 0.12 2012-06-09
4 6 0.11 2012-06-10
5 8 1.09 2012-06-03
money_factor:
id_factor | money_base | money_change
--------------------------------------
5 'Dollar' 'Yen'
6 'Dollar' 'Euro'
7 'Euro' 'Dollar'
8 'Euro' 'Yen'
通貨からドルへの最新の変更を返すクエリを実行しようとしています。私は結果を意味します:
id_factor | d_change | date
--------------------------------------
5 0.12 2012-06-09
6 0.11 2012-06-10
個々の要因の最終日を知ることができます:
SELECT MAX( date )
FROM money_change
WHERE id_factor = 6
しかし、「ドル」の各要素の最終日を知っているかもしれませんか? 私はこのようなことを試しました:
SELECT id_factor, d_change, date
FROM money_change c
INNER JOIN money_factor f
ON f.id_factor = c.id_factor
LEFT JOIN (
SELECT MAX(date) AS date
FROM money_change
) AS Last
ON c.dRegistro = Last.date
WHERE money_base = "Dollar"
しかし、私は戻ってきました:
id_factor | d_change | date
--------------------------------------
5 0.10 2012-06-07
6 0.11 2012-06-07
5 0.12 2012-06-09
6 0.11 2012-06-10
サブクエリに「where」を入力する必要があると思いますが、要素ごとに動的にですか?