Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafa-martin

trazendo apenas uma coluna, usando o case

Recommended Posts

galera eu tenho tenho a seguinte instrução:

 

select 	CASE c.cod_produto when 900	 then 'AP Premiado'					   when 901	 then 'Nossa Vida'			   when 905	 then 'AP Exclusivo'			   when 91002   then 'NV Servidor Público'	Else 'Desconhecido'	END	  AS 'Produto',	count(a.dat_proposta) AS 'Quantidade'frommnc.mapfre_nossa_caixa.dbo.tb_vida_cotacao a,tb_cotacao_mapfre b,tb_versao cwhere  a.cod_cotacao = b.cod_cotacaoand	a.dat_proposta >= CONVERT(VARCHAR(4), YEAR(GETDATE())) + '.' + CONVERT(VARCHAR(2), MONTH(GETDATE())) + '.01 00:00:00'and	a.dat_proposta <= CONVERT(VARCHAR(10), GETDATE() - 1, 102) + ' 23:59:59'and	a.cod_nivel_cotacao = 3and	val_premio_liquido > 0and	c.cod_versao = a.cod_versaoand	not (nom_proponente like '%teste%')and	b.cod_status = 2group  by convert(varchar(10), a.dat_proposta, 103), c.cod_produto, c.des_versaoorder  by convert(varchar(10), a.dat_proposta, 103), c.cod_produto, c.des_versao

no resultado vai aparecer 2 colunas Cod_Produto_OK, Produto e Quantidade

 

 

só que eu faço esse case para pegar a quantidade exata de cada produro numa determinada data.

 

só que eu preciso que apareça somente a coluna de quantidade no resultado.

 

tentei fazer um esquema assim: case c.cod_produto when 900, 901, 905, 91002 só que dá erro, claro.

 

como eu posso fazer para aperecer só a coluna quantidade?

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho q o seu problema naum eh seu script pois quando você tirar os outros campos de cima vai ser agrupado, mesmo usando funcoes como: GROUP BY / WITH CUBE ow GROUP BY e GROUPING ow COMPUTE, vai sempre acabar agrupando todos os valores...Uma coisa q você poderia fazer era fazer a consulta varias vezes passando como parametro os dados q você usou no CASE você esta chamando isso via outra aplicacao ow como você esta fazendo???Qq coisa possa dar uma mao em outra area q seria o software ow relatorio q vai usar esses dados...Mais qq coisa posta aew...Flw...

Compartilhar este post


Link para o post
Compartilhar em outros sites

não chamo em lugar nenhum. é uma procedure que trata direto no banco.

 

só que pra eu deixar só deixar a coluna quantidade eu preciso fazer esse case. porém não posso fazer case cod_produto 900, 901, 905, 91002, pq dá erro.

se eu fizer

case cod_produto when 900 then count(dat_proposta)when 901 then count(dat_proposta)when 905 then count(dat_proposta)when 91002 then count(dat_proposta)
vai aparecer 4 colunas quantiaddes.

 

tem que aparecer somente 1 com as quantidades de cada produto.

 

a proc q passei faz isso, porém aparece outras colunas. temq q ser só a quantidade.

 

entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui fazer.

case c.cod_produto when 91002 then count(a.dat_proposta)			when 900 then count(a.dat_proposta)			when 901 then count(a.dat_proposta)			when 905 then count(a.dat_proposta)		end as 'Quantidade'

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.