これはクレイジーな解決策のように見えますが、ウィンドウ関数 ROW_NUMBER()
を使用して実現できます CASE
を使用する 次のように、行番号が 1 より大きいかどうかをチェックする式:
select [Vch No.], [Vch Type], case when rn > 1 then '' else [Vch Ref] end as [Vch Ref], case when rn > 1 then '' else [Date] end as [Date], case when rn > 1 then '' else [Party Name] end as [Party Name], case when rn > 1 then '' else [Sales Ledger] end as [Sales Ledger], case when rn > 1 then '' else [Amt] end as [Amt], [GST Ledger], [TaxAmount], case when rn > 1 then '' else [Total] end as [Total] from ( select [Vch No.], [Vch Type], [Vch Ref], [Date], [Party Name], [Sales Ledger], [Amt], [GST Ledger], [TaxAmount], [Total], row_number() over (partition by [Vch No.],[Vch Type],[Vch Ref],[Date],[Party Name],[Sales Ledger],[Amt],[GST Ledger],[TaxAmount],[Total] order by [Vch No.]) rn from [AccountData] )x
プレ>
Amt
がある場合は、データ型を調べます 空白の値を取得したい場合は、INT を文字列に変換する必要があります。