Usuário com melhor resposta
Ajuda com consulta

Pergunta
-
Bom dia,
Estou realizando uma consulta e gostaria que um dos campos dela tivesse um agrupamento baseado em um condição.
Gostaria de agrupar os resultados pelo código da operação obtendo dois agrupamentos um que contemplasse todos os códigos de operação exceto o 0203007 e outro que contenha apenas o 0203007.
Operações:
0203001
0203002
0203003
...
e
0203007
O group by está assim:
GROUP BY
F.DESCRICAO, M.CODIGOMATERIAL, M.DESCRICAO, M.UNIDADEFISCAL, L.DESCRICAO_GRUPO_MATERIAL, MV.CODIGOOPERACAO
Gostaria de obter o resultado da seguinte maneira:
Representante1, codigomaterial1, descricao1, unidadefiscal1, descricao_grupo_material1, operacções (0203001, 0203002, ... , 0203005, 0203006)
Representante1, codigomaterial1, descricao1, unidadefiscal1, descricao_grupo_material1, operacções (0203007)
Se alguém puder me ajudar eu agradeço muito.
Respostas
-
Olá Marcos,
Você poderia usar o case when,
ficaria mais ou menos assim
SELECT ...,(CASE WHEN MV.CODIGOOPERACAO = 0203007 THEN 0203007 ELSE 0 END) AS CODIGOOPERACAO -- SUBSTITUA o campo do select pelo case when FROM ...
GROUP BY F.DESCRICAO, M.CODIGOMATERIAL, M.DESCRICAO, M.UNIDADEFISCAL, L.DESCRICAO_GRUPO_MATERIAL, (CASE WHEN MV.CODIGOOPERACAO = 0203007 THEN 0203007 ELSE 0 END) -- SUBSTITUA o campo do group by pelo case when
aqui estou substituindo todos os outros códigos por 0 para o agrupamento
[ ]´s,
Lukas Baldan
- Editado Lukas de Castro Ruocco Baldan quarta-feira, 17 de outubro de 2012 11:55
- Marcado como Resposta Marcos Rocha quarta-feira, 17 de outubro de 2012 12:43
Todas as Respostas
-
Olá Marcos,
Você poderia usar o case when,
ficaria mais ou menos assim
SELECT ...,(CASE WHEN MV.CODIGOOPERACAO = 0203007 THEN 0203007 ELSE 0 END) AS CODIGOOPERACAO -- SUBSTITUA o campo do select pelo case when FROM ...
GROUP BY F.DESCRICAO, M.CODIGOMATERIAL, M.DESCRICAO, M.UNIDADEFISCAL, L.DESCRICAO_GRUPO_MATERIAL, (CASE WHEN MV.CODIGOOPERACAO = 0203007 THEN 0203007 ELSE 0 END) -- SUBSTITUA o campo do group by pelo case when
aqui estou substituindo todos os outros códigos por 0 para o agrupamento
[ ]´s,
Lukas Baldan
- Editado Lukas de Castro Ruocco Baldan quarta-feira, 17 de outubro de 2012 11:55
- Marcado como Resposta Marcos Rocha quarta-feira, 17 de outubro de 2012 12:43
-