gpt4 book ai didi

mysql - MAX(Date) 给出空结果

转载 作者:行者123 更新时间:2023-11-29 06:54:59 25 4
gpt4 key购买 nike

我有一张汇率表,如下所示 enter image description here

我正在使用 maxofdate 根据货币代码选择所有这些值。但查询给出空白。

Select USDAMOUNT * dbo.EXCHANGERATEAMT 
from dbo.Amount_monthly
Left Join dbo.EXCHANGERATE on dbo.Amount_monthly.Currencycode=dbo.EXCHANGERATE.fromcurrencycode
WHERE ValidToDateTime = (Select MAX(ValidToDateTime) from dbo.EXCHANGERATE)
AND dbo.EXCHANGERATE.EXCHANGERATETYPECODE = 'DAY'

使用此语句

CONVERT(DATE,ValidToDateTime) = CONVERT(DATE,GETDATE()-1)

而不是子查询给了我预期的结果。有人可以纠正这个问题吗?提前致谢。

最佳答案

如果我理解正确的话,你需要两件事。首先,max() 的条件需要与外部查询中的条件匹配。其次,如果您确实想要左连接,那么第二个表上的条件需要放在on子句中。

生成的查询如下所示:

Select . . .
from dbo.Amount_monthly am Left Join
dbo.EXCHANGERATE er
on am.Currencycode = er.fromcurrencycode and
er.ValidToDateTime = (Select max(er2.ValidToDateTime)
from dbo.EXCHANGERATE er2
where er2.EXCHANGERATETYPECODE = 'DAY'
) and
er.EXCHANGERATETYPECODE = 'DAY';

我会使用窗口函数来编写此代码,但这是一个单独的问题。

关于mysql - MAX(Date) 给出空结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45991512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com