You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL Server存储过程中筛选包含最大Created日期的记录?

问题描述

我有以下数据表:

  • Charges(IdCharges IDENTITY(1,1), PRN Varchar(10), Created DateTime, SeasonCode Varchar(10));
  • Sales(IdSales IDENTITY(1,1), PRN Varchar(10));
  • Bounty(IdBounty IDENTITY(1,1), BountyTran varchar(10));

用于插入示例数据的SQL代码:

INSERT INTO Charges VALUES ('111','2023-06-01','10.1'); 
INSERT INTO Charges VALUES ('222','2023-06-02','10.2'); 
INSERT INTO Charges VALUES ('333','2023-06-03','10.3');

INSERT INTO SALES VALUES ('111');  
INSERT INTO SALES VALUES ('222');
INSERT INTO SALES VALUES ('333');

INSERT INTO Bounty VALUES ('WWW');
INSERT INTO Bounty VALUES ('DDD');
INSERT INTO Bounty VALUES ('FFF');

我还有如下存储过程:

ALTER PROCEDURE [dbo].[spGetCharges]
    @StartDate DATETIME
AS
BEGIN
    SELECT
        K.Bounty AS BountyTran
        'C' AS CODE, 
        LEFT(C.SeasonCode, CHARINDEX('.', C.SeasonCode + '.') - 1) AS SCODE
    FROM 
        dbo.Sales S
    INNER JOIN 
        dbo.Charges C ON S.PRN = C.PRN
    INNER JOIN 
        dbo.Bounty B ON S.IdBounty = B.IdBounty
                     AND C.Created >= @StartDate
END

我需要修改存储过程,筛选出C.Created日期最大的对应记录。例如:执行存储过程传入参数'2023-06-02'时,输出应为('DDD', '10', '2023-06-03')、('FFF', '10', '2023-06-03')。


内容的提问来源于stack exchange,提问作者BlackCat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 10:20:28