2017-04-05 1 views
0

私はこのクエリの結果を持って、2列で、BUとOPTIONSQLつの列でクリーンrepeted結果

BU OPTION 
A  1 
A  2 
A  3 
B  1 
B  2 
B  3 

は、このような結果を得るための方法はありますか?

BU OPTION 
A  1 
     2 
     3 
B  1 
     2 
     3 

ありがとうございます。

+7

本当にSQLの問題です。通常、プレゼンテーション層で行われます。 – jarlh

+0

ありがとうございます。なぜか分かりませんが、私は何かより難しいと思っていました。朝は早すぎた;-) – Madmartigan

答えて

1

を処理されるもののときBUが表示されていることを前提としあなたはまだそれを達成することができます

SELECT case when rw = 1 THEN Bu ELSE '' END AS BU, Option FROM (

SELECT ROW_NUMBER() over (partition by bu order by bu, option) as rw, * FROM #AA 
) X 
2
with CTE as 
(
select MT.*, row_number() over(partition by MT.BU order by MT.Option) as rn 
from MyTable 
) 
select case when rn = 1 then BU else null end as BU, 
     CTE.Option 
from CTE 

しかしJarlhが言ったように、これはプレゼンテーション層

1

で最高扱われ、私はそれがプレゼンテーションに良いオプション= 1

select 
(case when option = 1 then bu else '' end) as bu, 
option 
from your_table