我已经找了一段时间了,找不到一个有用的例子。希望你能发现这个明显的错误!
SELECT
Timestamp
, i_currency.Code AS Code
, Conversion
FROM
i_convert(
SELECT
Timestamp
, Conversion
FROM
i_convert
ORDER BY Timestamp DESC
)
JOIN i_currency
ON i_convert.CurrencyID = i_currency.CurrencyID
GROUP BY Code我不知道连接应该在哪里,是在括号中,还是在外面,还是两者兼而有之?我试过这三个都没有运气,继续:
You have an error... ...near '( SELECT Timestamp , Conversion FROM i_convert ORDER '发布于 2014-10-08 17:35:53
最初的查询没有意义。它使用GROUP BY,但试图选择既不是分组列,也不是组的聚合函数的列。对于任何给定的结果行,预期的时间戳和转换是什么?
我认为目标是为每种货币选择最新的换算方式。看起来可能更像这样:
SELECT
latest.Timestamp AS Timestamp
, i_currency.Code AS Code
, i_convert.Conversion AS Conversion
FROM i_currency
JOIN i_convert
ON i_convert.CurrencyID = i_currency.CurrencyID
JOIN (
SELECT MAX(Timestamp) as Timestamp, CurrencyId
FROM i_convert
GROUP BY CurrencyId
) latest
ON i_convert.Timestamp = latest.Timestamp
AND i_convert.CurrencyId = latest.CurrencyIdhttps://stackoverflow.com/questions/26262604
复制相似问题