TSQL - 使用游标删除重复记录
TSQL - Using cursor to remove repeating records
大家好!
我有一个 table,其中有几列:Part_No 和 Checksheets.
任何给定的 Part_No 可能有多个需要执行的检查表。
我正在尝试删除重复的 Part_No,因此我的电子表格最终将如下所示:
Part_No | Checksheet
Part1 | Part1checksheet1
| Part1checksheet2
| Part1checksheet3
| Part1checksheet4
Part2 | Part2checksheet1
| Part2checksheet2
Part3 | Part3checksheet1
| Part3checksheet2
| Part3checksheet3
而不是像这样:
Part_No | Checksheet
Part1 | Part1checksheet1
Part1 | Part1checksheet2
Part1 | Part1checksheet3
Part1 | Part1checksheet4
Part2 | Part2checksheet1
Part2 | Part2checksheet2
Part3 | Part3checksheet1
Part3 | Part3checksheet2
Part3 | Part3checksheet3
我假设我会创建一个变量并使用游标遍历每一行并检查部件号,但我不确定如何解决这个问题。
感谢任何可以提供帮助的人!
创建视图:
create view vw_ForExcel as (
select
case when row_number() over (partition by Part_No order by Part_No) = 1 then Part_No else '' end as Part_No,
Checksheet
from THE_TABLE
)
然后导出(或SELECT * FROM dbo.vw_ForExcel
)
大家好!
我有一个 table,其中有几列:Part_No 和 Checksheets.
任何给定的 Part_No 可能有多个需要执行的检查表。
我正在尝试删除重复的 Part_No,因此我的电子表格最终将如下所示:
Part_No | Checksheet
Part1 | Part1checksheet1
| Part1checksheet2
| Part1checksheet3
| Part1checksheet4
Part2 | Part2checksheet1
| Part2checksheet2
Part3 | Part3checksheet1
| Part3checksheet2
| Part3checksheet3
而不是像这样:
Part_No | Checksheet
Part1 | Part1checksheet1
Part1 | Part1checksheet2
Part1 | Part1checksheet3
Part1 | Part1checksheet4
Part2 | Part2checksheet1
Part2 | Part2checksheet2
Part3 | Part3checksheet1
Part3 | Part3checksheet2
Part3 | Part3checksheet3
我假设我会创建一个变量并使用游标遍历每一行并检查部件号,但我不确定如何解决这个问题。
感谢任何可以提供帮助的人!
创建视图:
create view vw_ForExcel as (
select
case when row_number() over (partition by Part_No order by Part_No) = 1 then Part_No else '' end as Part_No,
Checksheet
from THE_TABLE
)
然后导出(或SELECT * FROM dbo.vw_ForExcel
)