Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

come mostrare il valore della colonna solo una volta se viene ripetuto e vuoto fino a quando non arriva un valore diverso in sql

Potresti fallo in questo 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

Ma come ha detto Mikael, questo - nella maggior parte dei casi - non è proprio il modo in cui dovrebbe essere fatto. Basti pensare che il cliente potrebbe, ad esempio, voler modificare l'ordinamento all'interno delle categorie, quindi la "prima" riga all'interno di ogni categoria sarà diversa.