首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对带有或不带有Nulls的日期值使用Max

对带有或不带有Nulls的日期值使用Max
EN

Stack Overflow用户
提问于 2016-08-11 09:36:51
回答 4查看 290关注 0票数 0

现在,经过这么多小时的努力,我现在真的需要帮助了。

我有一个表,其中包含大约50,000个客户的数百万条记录。每个客户至少有2000笔交易。

我想有一个表,持有每个客户在网站上购买或出售的最新日期。

我试过了

代码语言:javascript
运行
复制
'FOR PURCHASES
Update tblmycustomers
set LastBoughtdate = (Select ISNULL(Max(trndate), '01-Jan-1900') from tbltransactions where Type = 'PURCHASES')
from tbltransactions.AccountRef = tblmycustomers.AccountNo

它适用于有“购买”的记录,但对于那些没有购买的记录,它保存了另一个错误的日期

我希望它为每个没有购买的客户返回默认日期("01-Jan-1900"),并为有购买的客户返回最大交易日期。

请帮帮我。

EN

Stack Overflow用户

发布于 2016-08-11 09:47:32

此更新基于帐号的左外部联接子查询的最大事务日期。

代码语言:javascript
运行
复制
UPDATE 
    T
SET 
    T.LastBoughtdate=COALESCE(A.LastPurchaseDate,'01/01/1900')
FROM
    tblmycustomers T
LEFT OUTER JOIN
(
    SELECT
        T2.AccountRef
        LastPurchaseDate=MAX(trndate)
    FROM
        tbltransactions T2
    WHERE
        T2.Type='PURCHASES'
    GROUP BY
        T2.AccountRef
)AS A ON A.AccountRef=T.AccountNo
票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38885987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档