Quebrando a cabeça com SQL
19/08/2004
0
Fala pessoal !!
Tem um SQL que tá me quebrando , nao achei nada na Net... Seguinte
tenho uma tabela com dois campos Codigo e Opcao. Os registros ficariam desta forma :
1 - S
2 - N
3 - S
4 - N
5 - N
e assim vai , sim ou não..
a pergunta é a seguinte : como fazer um sql pra ele retornar na mesma linha o total de Sim , total de Nao , percentual de sim e percentual de nao, em colunas , alguem sabe ??
[]´s
Tem um SQL que tá me quebrando , nao achei nada na Net... Seguinte
tenho uma tabela com dois campos Codigo e Opcao. Os registros ficariam desta forma :
1 - S
2 - N
3 - S
4 - N
5 - N
e assim vai , sim ou não..
a pergunta é a seguinte : como fazer um sql pra ele retornar na mesma linha o total de Sim , total de Nao , percentual de sim e percentual de nao, em colunas , alguem sabe ??
[]´s
Felipe_cduarte
Curtir tópico
+ 0
Responder
Posts
19/08/2004
Aroldo Zanela
Colega,
Veja este artigo: http://lib.seven.com.br/ampliar.asp?codcat=24&codartigo=558
Veja este artigo: http://lib.seven.com.br/ampliar.asp?codcat=24&codartigo=558
Responder
24/08/2004
Rafaelcf
Lá vai entao:
create table #tmpteste(codigo int, tipo char)
insert into tmpteste values(1, ´S´)
insert into tmpteste values(2, ´N´ )
insert into tmpteste values(3, ´S´ )
insert into tmpteste values(4, ´N´ )
insert into tmpteste values(5, ´N´ )
insert into tmpteste values(6, ´N´ )
insert into tmpteste values(7, ´N´ )
insert into tmpteste values(8, ´N´ )
insert into tmpteste values(9, ´N´ )
select
sum(case
when tipo = ´S´
then (1)
else 0
end) TIPO_S
,
sum(case tipo
when ´N´
then (1)
else 0
end) TIPO_N,
convert(decimal(5,2),sum(case tipo
when ´S´
then (1)
else 0
end)) / sum(1.00) * 100 PERCENTUAL_S,
convert(decimal(5,2),sum(case tipo
when ´N´
then (1)
else 0
end)) / sum(1.00) * 100 PERCENTUAL_N
from #tmpteste
=-=-=-=-=-=-=-=-=-=-=-=
Rafael Cunha de Freitas.
Analista de Sistemas
=-=-=-=-=-=-=-=-=-=-=-=
create table #tmpteste(codigo int, tipo char)
insert into tmpteste values(1, ´S´)
insert into tmpteste values(2, ´N´ )
insert into tmpteste values(3, ´S´ )
insert into tmpteste values(4, ´N´ )
insert into tmpteste values(5, ´N´ )
insert into tmpteste values(6, ´N´ )
insert into tmpteste values(7, ´N´ )
insert into tmpteste values(8, ´N´ )
insert into tmpteste values(9, ´N´ )
select
sum(case
when tipo = ´S´
then (1)
else 0
end) TIPO_S
,
sum(case tipo
when ´N´
then (1)
else 0
end) TIPO_N,
convert(decimal(5,2),sum(case tipo
when ´S´
then (1)
else 0
end)) / sum(1.00) * 100 PERCENTUAL_S,
convert(decimal(5,2),sum(case tipo
when ´N´
then (1)
else 0
end)) / sum(1.00) * 100 PERCENTUAL_N
from #tmpteste
=-=-=-=-=-=-=-=-=-=-=-=
Rafael Cunha de Freitas.
Analista de Sistemas
=-=-=-=-=-=-=-=-=-=-=-=
Fala pessoal !!
Tem um SQL que tá me quebrando , nao achei nada na Net... Seguinte
tenho uma tabela com dois campos Codigo e Opcao. Os registros ficariam desta forma :
1 - S
2 - N
3 - S
4 - N
5 - N
e assim vai , sim ou não..
a pergunta é a seguinte : como fazer um sql pra ele retornar na mesma linha o total de Sim , total de Nao , percentual de sim e percentual de nao, em colunas , alguem sabe ??
[]´s
Responder
Clique aqui para fazer login e interagir na Comunidade :)