MySQL从不同来源选择最新记录

时间:2015-07-31 15:35:57

标签: php mysql join subquery

我正在使用货币汇率数据库,其中存在从多个来源获取的多种货币的汇率。

我正在尝试构建一个查询,该查询从每个来源获取每种货币的最后两条记录。 总共有大约60种货币来自10个不同的来源。

SELECT c.id, c.name, c.iso4217, c.flag,
            r1.buy, r1.sell, r1.amount, r1.time
            FROM currencies c
            JOIN rates r1 ON r1.currency = c.id
            JOIN src s ON s.id = r1.src
            WHERE c.status = 10
            AND s.status = 10
            AND r1.id IN (
                SELECT id
                FROM
                (
                SELECT r2.id
                    FROM
                    rates r2
                    WHERE
                    r2.currency = c.id
                    AND r2.src = s.id
                    ORDER BY r2.id
                    DESC LIMIT 2
                )alias
            )

此查询无法运行,最终会返回

  

未知栏' c.id'在' where子句'

如果我手动设置

,它确实可以正常工作并提供我想要的数据
r2.currency = #
AND r2.src = #

到最里面的子查询中的任何id。

如何将c.id和s.id传递给子查询?

0 个答案:

没有答案