2017-04-05 24 views
0

我有這樣的查詢結果,有兩列,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

雖然這將在呈現更好地處理層,你仍然可以通過

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