我有一个要求,只选择有没有交易的客户,否则,他们的最后交易是在某个日期之后。SQL查询太慢
目前,我的查询时间太长。
有没有更有效的方法来做到这一点?
SELECT *,
(SELECT MAX(AC_CLOSEDDAT) FROM
Accs WHERE accs.AC_CLIENTCODE = c.CL_CLIENTCODE) AS LastTrans
FROM Clients c
WHERE CL_STATUS <> 'R'
AND STORE_CODE = '69JX
我希望我可以使用JOIN,但不知道....我需要在过去的2年内没有交易的客户,以及与交易的。
使用SQL Server 2008的
这可能工作 - 但我不确定两件事:1.为什么'SELECT NULL',而不是'SELECT *'? 2.这是否包括在Accs中有0行的客户? – Craig
@克雷格1.因为它只是检查“存在”,所以你不想从检查中检索任何一行。是的。 –