SQLSERVER 如何在两行有部分相同列的情况下 去除重复列(保留一列)?

pikechuz 2018-11-09 06:11:37

如图 如何把 划片未回、CP在制、晶元库存、采购未回 四列中 根据以下关系去除重复
晶元名称-划片未回、名称-CP在制、晶元名称-晶元库存、晶元ID-采购订单

比如说 晶元名称都为123 采购未回都为 6955000
此时如何将表中 的其他6955000全部变成null(只留下任意一行,可以按排序顺序留下第一行的划片未回数量)
大概变成这个样子
请各位大佬不吝指教,谢谢!
...全文
519 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
pikechuz 2018-11-10
  • 打赏
  • 举报
回复
问题解决了! 感谢~
二月十六 2018-11-09
  • 打赏
  • 举报
回复
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([晶元名称] int,[采购未回] INT,名称 NVARCHAR(23),CP在制 INT)
Insert #T
select 123,6955000,'123A',6955000 union all
select 456,4200000,'456B',6955000 union all
select 123,6955000,'123A',4200000
Go
--测试数据结束
SELECT t.晶元名称,名称,CASE WHEN rn1 =1 THEN t.采购未回 ELSE NULL END AS 采购未回,
CASE WHEN rn2 =1 THEN t.CP在制 ELSE NULL END AS CP在制 FROM (
SELECT *,ROW_NUMBER()OVER(PARTITION BY 晶元名称 ORDER BY 采购未回) rn1
,ROW_NUMBER()OVER(PARTITION BY 名称 ORDER BY CP在制) rn2 from #T
)t


22,299

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧