Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

como mostrar o valor da coluna apenas uma vez se for repetido e em branco até que um valor diferente venha no sql


Você poderia faça isso deste modo:
SELECT
    CASE WHEN ROW_NUMBER() OVER(PARTITION BY Category ORDER BY BudgetType) = 1 
    THEN Category ELSE NULL END AS 'Category Caption'
    , Category
    , BudgetType
FROM yourTable
ORDER BY Category, BudgetType

Mas, como Mikael mencionou, isso - na maioria dos casos - realmente não é a maneira como deve ser feito. Basta pensar que o cliente pode, por exemplo, querer alterar a classificação dentro das categorias, então a 'primeira' linha dentro de cada categoria será diferente.