请使用以下临时表和数据集作为参考。使用下面的数据集,我正在尝试创建一个新数据集。
DECLARE @Temp TABLE
(
year_month int,
Vuid int,
Puid int,
ac_cd varchar(20),
sub_ac_cd varchar(20),
jdg_sts varchar(20),
voy_pl_usd int,
updt_stamp datetime
)
insert into @temp values(
202005,1,1,'M011','0','S',30,GETDATE()-2
)
insert into @temp values(
202006,1,1,'M011','0','P',20,GETDATE()-1
)
insert into @temp values(
202007,1,1,'M011','0','M',40,GETDATE()
)
insert into @temp values(
202005,1,2,'M011','0','S',15,GETDATE()-2
)
insert into @temp values(
202006,1,2,'M011','0','P',10,GETDATE()-1
)
insert into @temp values(
202007,1,2,'M011','0','P',15,GETDATE()
)
输出数据集应如下所示:
我编写了以下查询,部分满足了我的要求:
(SELECT Vuid, Puid, ac_cd, sub_ac_cd, SUM (VOY_PL_USD) AS Cost
FROM @Temp
GROUP BY
Vuid,
Puid,
ac_cd,
sub_ac_cd
)
但是成本还应该将最新的 jdg_sts 列值与 SUM 一起附加。我知道最新的记录是根据最新的 Year_month 选择的。
请注意:我的查询将放在视图中。请告诉我如何实现它..
数据集:
另一个版本的输出: