Usuário com melhor resposta
Consulta Agrupada

Pergunta
-
Fala galera, blz
Queria uma ajuda ai de vocês, tenho uma query que traz a seguinte consulta:
Vejam que o mes 5 repete duas vezes, com apenas a coluna 1 diferente 'CCCC' e 'AAAA'
COL1 COL2 COL3 COL4
AAAA 2012 1 72
AAAA 2012 2 73
BBBB 2012 3 69
BBBB 2012 4 67
CCCC 2012 5 76
AAAA 2012 5 76
CCCC 2012 6 65
CCCC 2012 7 81
BBBB 2012 8 75
CCCC 2012 9 67
AAAA 2012 10 72
AAAA 2012 11 72Queria aplicar nesta consulta um select que me retorna-se
COL1 COL2 COL3 COL4
AAAA 2012 1 72
AAAA 2012 2 73
BBBB 2012 3 69
BBBB 2012 4 67
CCCC,AAAA 2012 5 76
CCCC 2012 6 65
CCCC 2012 7 81
BBBB 2012 8 75
CCCC 2012 9 67
AAAA 2012 10 72
AAAA 2012 11 72
Respostas
-
Blz,
Experimente o script abaixo:
declare @Tabela table (COL1 varchar(10), COL2 int, COL3 int, COL4 int); insert into @Tabela values ('AAAA', 2012, 1, 72), ('AAAA', 2012, 2, 73), ('BBBB', 2012, 3, 69), ('BBBB', 2012, 4, 67), ('CCCC', 2012, 5, 76), ('AAAA', 2012, 5, 76), ('CCCC', 2012, 6, 65), ('CCCC', 2012, 7, 81), ('BBBB', 2012, 8, 75), ('CCCC', 2012, 9, 67), ('AAAA', 2012, 10, 72), ('AAAA', 2012, 11, 72); SELECT distinct STUFF( (SELECT ',' + s.COL1 FROM @Tabela as s WHERE s.COL2 = t.COL2 AND s.COL3 = t.COL3 AND s.COL4 = t.COL4 FOR XML PATH(''), TYPE).value('.', 'varchar(max)') ,1, 1, '') as COL1, t.COL2, t.COL3, t.COL4 FROM @Tabela as t ORDER BY t.COL2, t.COL3
Espero que seja útil.Assinatura: http://www.imoveisemexposicao.com.br
- Sugerido como Resposta Roberson Naves sábado, 1 de dezembro de 2012 14:32
- Marcado como Resposta Apollo130 terça-feira, 4 de dezembro de 2012 12:31
Todas as Respostas
-
Blz,
Experimente o script abaixo:
declare @Tabela table (COL1 varchar(10), COL2 int, COL3 int, COL4 int); insert into @Tabela values ('AAAA', 2012, 1, 72), ('AAAA', 2012, 2, 73), ('BBBB', 2012, 3, 69), ('BBBB', 2012, 4, 67), ('CCCC', 2012, 5, 76), ('AAAA', 2012, 5, 76), ('CCCC', 2012, 6, 65), ('CCCC', 2012, 7, 81), ('BBBB', 2012, 8, 75), ('CCCC', 2012, 9, 67), ('AAAA', 2012, 10, 72), ('AAAA', 2012, 11, 72); SELECT distinct STUFF( (SELECT ',' + s.COL1 FROM @Tabela as s WHERE s.COL2 = t.COL2 AND s.COL3 = t.COL3 AND s.COL4 = t.COL4 FOR XML PATH(''), TYPE).value('.', 'varchar(max)') ,1, 1, '') as COL1, t.COL2, t.COL3, t.COL4 FROM @Tabela as t ORDER BY t.COL2, t.COL3
Espero que seja útil.Assinatura: http://www.imoveisemexposicao.com.br
- Sugerido como Resposta Roberson Naves sábado, 1 de dezembro de 2012 14:32
- Marcado como Resposta Apollo130 terça-feira, 4 de dezembro de 2012 12:31
-