现在,经过这么多小时的努力,我现在真的需要帮助了。
我有一个表,其中包含大约50,000个客户的数百万条记录。每个客户至少有2000笔交易。
我想有一个表,持有每个客户在网站上购买或出售的最新日期。
我试过了
'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"),并为有购买的客户返回最大交易日期。
请帮帮我。
发布于 2016-08-11 09:47:32
此更新基于帐号的左外部联接子查询的最大事务日期。
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.AccountNohttps://stackoverflow.com/questions/38885987
复制相似问题