首页 > 解决方案 > 我想查询返回上周的结果,即如果我在星期一查询,它将返回星期一到星期日的结果

问题描述

我有一个名为 Dealname、ApproverName 和 Approval Date 的列

我想在每个星期一运行一个查询,该查询将返回上周某个人已批准的所有交易。前一周是指前一个星期一到星期天。

如何在上周获得批准的交易?

标签: sql-servertsqldate

解决方案


我想我明白了。这看起来对吗?

 Select 
        PO.[Name] "Deal"


    ,RA.[Date] "Approval Date"  
    ,U2.[DisplayName] "Signatory/ies"      

    From [RCT].[Resolution] RC

    Full Outer Join [RCT].[ResolutionApproval] RA On (RC.[ResolutionId] = RA. [ResolutionId])  

    Full Outer Join [RCT].[Portfolio] PO On PO.[PortfolioCode] = RC.[PortfolioCode]

    Full outer Join [RCT].[User] U2  on U2.UserId = RA.[ApproverId]<br>

    Where RA.[DATE] BETWEEN (
        DATEADD(day, -6,

        DATEADD(day, -1 * (( DATEPART(weekday, GETDATE()) % 7) -1), GETDATE())

        )
    )
    AND 
    (
    DATEADD(day, -1 * (( DATEPART(weekday, GETDATE()) % 7) -1), GETDATE())
    )


推荐阅读