2017-04-05 25 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