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