|
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
TatiMichelutti Novato
Registrado: Quinta-Feira, 17 de Mai de 2012 Mensagens: 97
|
Enviada: Seg Set 22, 2014 11:26 am Assunto: Mysql - Group by |
|
|
Olá, existe alguma forma de fazer o group by em um select somente se o campo a ser agrupado não for nulo?
Obrigada |
|
Voltar ao Topo |
|
|
daniel775 Profissional
Registrado: Quinta-Feira, 17 de Janeiro de 2013 Mensagens: 721 Localização: Amparo SP
|
Enviada: Qua Set 24, 2014 2:02 pm Assunto: |
|
|
Olá Tati, é só no seu select vc colocar:
Código: | WHERE campo IS NOT NULL |
do contrario ele irá agrupar campos nulos e campos não nulos.
OU
se você quer manter os valores NULOS E NÃO NULOS, porém apenas agrupar os NÃO NULOS, creio que só sera possivel fazendo um subselect, porém ficará com 2 campos.
exemplo +/-:
Código: | SELECT a.campo_exemplo, sum(a.valor),
(SELECT b.valor FROM TABELA_1 b
WHERE b.pk = a.pk
and a.campo_exemplo IS NULL) AS valor
FROM TABELA_1 a
AND (a.campo_exemplo = '068551' OR a.campo_exemplo IS NULL)
GROUP BY 1,3 |
ficaria algo mais ou menos assim:
Como pode ver ai ele agrupo 5 valores com campo_exemplo = '068551' e deixou os nulos 'abertos'
Não consegui pensar em outra coisa, vamos esperar e ver se alguem pode dar uma ideia. _________________ "Água mole em pedra dura, tanto bate até q fura!", diz o filósofo...
"Essa !@#%& vai ter q funcionar", diz o programador. |
|
Voltar ao Topo |
|
|
tanure Profissional
Registrado: Segunda-Feira, 7 de Novembro de 2011 Mensagens: 712
|
Enviada: Sex Set 26, 2014 10:50 am Assunto: |
|
|
posta o sql que vc tem que eu monto o having pra vc |
|
Voltar ao Topo |
|
|
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|