如何根据发票号码和类别区分类别

问题描述 投票:0回答:1

我有一张如下所示的桌子

日期 帐单号 类别
2024年9月30日 1 VSS
2024年10月1日 2 RSS
2024年1月9日 3 VSS
2024年10月1日 3 RSS

我需要像下面这样的新类别

日期 帐单号 类别 新类别
2024年9月30日 1 VSS VSS
2024年10月1日 2 RSS RSS
2024年10月1日 3 VSS VSS
2024年10月1日 3 RSS VSS

注意:如果账单日期相同且账单编号重复,则考虑 VSS。

我累了

SELECT Date, BillNo, Category 
    , case when [Category]='VSS' then 'VSS' else 'RSS' end [New CATEGORY] 
FROM TBL
sql sql-server
1个回答
0
投票

假设您真的想更改日期值,那么您可以在此处使用

ROW_NUMBER()

SELECT Date, BillNo, Category,
       CASE WHEN ROW_NUMBER() OVER (PARTITION BY BillNo ORDER BY Date) > 1
            THEN 'VSS' ELSE Category END AS [New Category]
FROM TBL
ORDER BY BillNo, Date;
© www.soinside.com 2019 - 2024. All rights reserved.