Search code examples
sql-servert-sqlcursors

TSQL - Using cursor to remove repeating records


everyone!

I have a table that has a couple columns: Part_No and Checksheets.

Any given Part_No may have multiple checksheets that need to be performed.

I am trying to remove repeating Part_No's, so my spreadsheet will eventually look something like this:

Part_No | Checksheet
Part1   | Part1checksheet1
        | Part1checksheet2
        | Part1checksheet3
        | Part1checksheet4
Part2   | Part2checksheet1
        | Part2checksheet2
Part3   | Part3checksheet1
        | Part3checksheet2
        | Part3checksheet3

Instead of like this:

Part_No | Checksheet
Part1   | Part1checksheet1
Part1   | Part1checksheet2
Part1   | Part1checksheet3
Part1   | Part1checksheet4
Part2   | Part2checksheet1
Part2   | Part2checksheet2
Part3   | Part3checksheet1
Part3   | Part3checksheet2
Part3   | Part3checksheet3

I am assuming I would create a variable and use a cursor to go through each row and check the part number, but I am just not sure how to figure this out.

Thanks to anyone that can help!


Solution

  • Create a VIEW:

    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
    )
    

    Then export it (or SELECT * FROM dbo.vw_ForExcel)