在我的MySQL数据库中,我有两个表:investments
(具有currency_id
和date
投资)和currencies
(具有名称等数据)。
我想为投资表中的每种货币选择最小的date
,然后将此结果与currencies
合并。
我想象中的查询可能会更清楚:
SELECT T.currency_id, T.mindate
FROM (
SELECT * , MIN( DATE ) AS mindate
FROM investments
GROUP BY investments.currency_id
ORDER BY mindate ASC
) AS T
JOIN currencies ON T.currency_id =
currencies.currency_id
但是,我得到的只是子查询结果,没有连接Currency表中的任何内容。我究竟做错了什么?
最佳答案
在SELECT
子句中,您忘记获取currencies
列的值。
在第一行添加currencies.*
。
SELECT T.currency_id, T.mindate, currencies.*
FROM (
SELECT * , MIN( DATE ) AS mindate
FROM investments
GROUP BY investments.currency_id
ORDER BY mindate ASC
) AS T
JOIN currencies ON T.currency_id =
currencies.currency_id
关于mysql - 与另一个表联接子查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48135460/