Imagine que você tenha uma tabela semelhante a de baixo.
| ID | PROTOCOLO | PERGUNTA | RESPOSTA | 
| 1 | 454176 | Quem foi o rei de Roma | Homen Aranha | 
| 2 | 454176 | Quem descobriu o Brasil | O Batman | 
| 3 | 454176 | Sobrenome do Tarzan | Piter Jasoncker | 
E você queira realizar um consulta que lhe retorne apenas um registro concatenando as perguntas e respostas, como este exemplo:
DESC_AGRUPADO
Quem foi o rei de Roma - Homen Aranha, Quem descobriu o Brasil - O Batman, Sobrenome do Tarzan - Piter Jasoncker
Deve se utilizar a consulta abaixo.
SELECT TOP 1
 replace( replace( (select  
                                     PERGUNTA +' -  '+ RESPOSTA AS DESC_AGRUPADO 
                                   FROM TABELA_EXEMPLO 
                                   WHERE ID=454176  FOR XML RAW),
                    '<row DESC_AGRUPADO="',''),
          '"/>',',') As DESC_AGRUPADO   
    FROM TABELA_EXEMPLO WHERE ID=454176
Nesta query solicitamos para realizar a exportação para XML, depois utilizamos o replace para remover as "TAGS" do XML e colocar a "," deixando apenas em um registro.
Caso tenha duvidas postem nos comentários.
Att.
Cláudio Jr
