Header Row in SQL

I need on this query something to group the rows only by CLIENTI.BRAND (customer name/brand). This is a table from a CRM and it contains customers referents names and information and a contact register.

I need something that just displays the rows in this way:

BRAND
BRAND SITO NOMINATIVO EMAIL TELEFONO CATEGORIA DATA_CONTATTO....
BRAND SITO NOMINATIVO EMAIL TELEFONO CATEGORIA DATA_CONTATTO....
BRAND
BRAND SITO NOMINATIVO EMAIL TELEFONO CATEGORIA DATA_CONTATTO....
BRAND SITO NOMINATIVO EMAIL TELEFONO CATEGORIA DATA_CONTATTO....

Here is the query

SELECT 
    CLIENTI.ID, CLIENTI.BRAND, CLIENTI.SITO, 
    CONTATTI.NOMINATIVO, CONTATTI.EMAIL, CONTATTI.TELEFONO, 
    CATEGORIE.CATEGORIA,
    REGISTRO.[DATA CONTATTO] AS DATA_CONTATTO,
    REGISTRO.AGENZIE, REGISTRO.[NOTE INVIO] AS NOTE_INVIO,
    REGISTRO.[INVIATO DA] AS INVIATO_DA, CLIENTI.STATO,
    REGISTRO.TIPO_CONTATTO AS [Tipo Contatto],
    REGISTRO.[RICONTATTARE], Registro.Data_Ricontattare,
    CLIENTI.DataInserimento
FROM 
    (((CLIENTI
LEFT JOIN 
    CONTATTI ON CLIENTI.ID = CONTATTI.AZIENDA)
LEFT JOIN 
    CATEGORIE ON CLIENTI.CATEGORIA = CATEGORIE.ID)
LEFT JOIN 
    REGISTRO ON CLIENTI.ID = REGISTRO.CLIENTE)
WHERE 
    BLACKLIST = FALSE 

Could you please help me?

Thank you :)


Solution 1:

Try following Code:

declare @TableTemp table
(
ID int , BRAND nvarchar(50), SITO nvarchar(50), 
NOMINATIVO nvarchar(50), EMAIL nvarchar(50), TELEFONO nvarchar(50)
)

insert into @TableTemp (ID , BRAND    ,   SITO   ,    NOMINATIVO  , EMAIL      , TELEFONO)
                values (1  , N'Brand1',  N'Sito1',  N'NOMINATIVO1', N'[email protected]' , N'+1454')
insert into @TableTemp (ID , BRAND    ,   SITO   ,    NOMINATIVO  , EMAIL      , TELEFONO)
                values (2  , N'Brand1',  N'Sito2',  N'NOMINATIVO2', N'[email protected]' , N'+1754')
insert into @TableTemp (ID , BRAND    ,   SITO   ,    NOMINATIVO  , EMAIL      , TELEFONO)
                values (3  , N'Brand2',  N'Sito3',  N'NOMINATIVO3', N'[email protected]' , N'+1434')
insert into @TableTemp (ID , BRAND    ,   SITO   ,    NOMINATIVO  , EMAIL      , TELEFONO)
                values (4  , N'Brand2',  N'Sito4',  N'NOMINATIVO3', N'[email protected]' , N'+1954')
insert into @TableTemp (ID , BRAND    ,   SITO   ,    NOMINATIVO  , EMAIL      , TELEFONO)
                values (5  , N'Brand1',  N'Sito2',  N'NOMINATIVO2', N'[email protected]' , N'+1754')

insert into @TableTemp (ID ,  BRAND , SITO,NOMINATIVO , EMAIL , TELEFONO)
select distinct         null, BRAND , null, null      , null  , null     from @TableTemp

SELECT   BRAND , SITO,NOMINATIVO , EMAIL , TELEFONO FROM @TableTemp
ORDER BY BRAND , ID

After Running SQL Code: (Result)

|BRAND |SITO |  NOMINATIVO| EMAIL|  TELEFONO|
|:-----|:---:|:----------:|:--------:| --------:|
|Brand1|     |            |          |          |
|Brand1|Sito1|NOMINATIVO1 |[email protected]   |  +1454   |
|Brand1|Sito2|NOMINATIVO2 |[email protected]  |  +1754   |
|Brand1|Sito2|NOMINATIVO2 |[email protected]  |  +1754   |
|Brand2|     |            |          |          |
|Brand2|Sito3|NOMINATIVO3 |[email protected]  |  +1434   |
|Brand2|Sito4|NOMINATIVO3 |[email protected]  |  +1954   |

Result