Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu desejo fazer uma consulta bem simples aparecer na vertical. Não estou buscando em nenhuma tabela, apenas digito os valores direto.
Select 'linha1', 'linha2', 'linha3';
So que isso resulta em:
linha1 linha2 linha3
Existe uma maneira de fazer o resultado sair assim: ???
linha1
linha2
linha3
>
Eu desejo fazer uma consulta bem simples aparecer na vertical. Não estou buscando em nenhuma tabela, apenas digito os valores direto.
Select 'linha1', 'linha2', 'linha3';
So que isso resulta em:
linha1 linha2 linha3
Existe uma maneira de fazer o resultado sair assim: ???
linha1
linha2
linha3
No seu contexto de exemplo não tem como, pois você não tem "colunas", somente valores e valores deste modo não é possível utilizar para conversão.
Você mencionou "um select simples", mas este select tem colunas em seu resultado (nome de colunas).
De uma olhada tão famoso PIVOT TABLE que é utilizado para converter linhas em colunas a partir do SQL 2005
declare @venda table (ano int, mes int, valor numeric(9,2))
insert @venda values (2003, 2, 10)
insert @venda values (2003, 2, 1)
insert @venda values (2003, 3, 20)
insert @venda values (2003, 4, 30)
insert @venda values (2004, 1, 40)
insert @venda values (2004, 2, 50)
insert @venda values (2004, 3, 60)
insert @venda values (2004, 4, 70)
insert @venda values (2005, 1, 80)
/*****************
SQL 2000
*****************/
select ano
, mes_1 = sum(case when mes=1 then valor end)
, mes_2 = sum(case when mes=2 then valor end)
, mes_3 = sum(case when mes=3 then valor end)
, mes_4 = sum(case when mes=4 then valor end)/*************************
SQL 2005 // SQL 2008
*************************/
Select ano
, [1] as Jan
, [2] as Fev
, [3] as Mar
, [4] as Abr
from @venda pivot (sum(valor) for mes in ([1],[2],[3],[4])) p
order by 1;valeu motta, era exatamente o q eu precisava. estou trabalhando com o xtrareports e como nao o conheco mt bem passando por dificuldades com preenchimento das tabelas.
eu tenho uma procedure que preenche tres linhas. mas a descricao lateral dessas linhas eu nao tinha como colocar por fora. dessa forma ai eu consigo. pelo menos foi a unica maneira q consegui fazer
sou outra coisa motta, tem como dar um nome a essa coluna comm os resultados?
Sim com o "as" veja o exemplo do A.Jr.
valeu mais uma vez
Se os tipos forem iguais ...
Select 'linha1'
UNION
Select 'linha2'
UNION
Select 'linha3'
Pq precisa disto ?!