在 SQL 中如何根据 A 列中的值更改来更改 b 列中的值

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

大家好,如果有人能通过我的方式提供任何帮助,我将不胜感激。

我有一个数据集,如下所示作为简单示例

Date    Description
1/1/24  Testing
1/1/24  Testing
1/2/24  Apple
1/2/24  Apple

我需要在 SQL 中做的是最终结果如下所示。简而言之,我只需要每个日期第一行的描述。

Date    Description
1/1/24  Testing
1/1/24  
1/2/24  Apple
1/2/24  

谢谢保罗

我试图仔细考虑是否可以使用 case 语句,但这确实不能解决我的问题,因为我可以根据 a 列中的内容更改 b 列,但我不知道在什么情况下要在 case 中放入什么声明地址,使任何次要的相同或更多日期为空白。

sql case
1个回答
0
投票

如果您可以使用 CTE,请勾选此项。

将@Data声明为表 (日期日期, 说明 nvarchar(50))

插入@Data(日期,描述) 值('1/1/24','测试')

插入@Data(日期,描述) 值('1/1/24','测试')

插入@Data(日期,描述) 值('1/2/24','苹果')

插入@Data(日期,描述) 值('1/2/24','苹果')

;WITH table_nameCTE AS
(
SELECT*, ROW_NUMBER() over (PARTITION BY Dates,Description ORDER BY Dates) 作为 RN
来自@Data
) 选择日期,当 RN=1 时则选择说明,否则 '' 结束为 table_nameCTE 的说明

© www.soinside.com 2019 - 2024. All rights reserved.