Ir para conteúdo

POWERED BY:

Arquivado

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

ixxx

union: ordenar por select

Recommended Posts

tenho 2 selects:select * from view_veiculos where nome_marc like '%fiat%' and ano='2001' <--- select n. 1unionselect * from view_veiculos where nome_marc like '%fiat%' and ano='2004' <--- select n.2quando executo essa query acima, (os 2 selects unidos pelo union) o resultado é esse:id 1 _______ ano 2004id 2 _______ ano 2001a linha com ano 2004 vem antes do ano 2001só que eu gostaria de ter o ano 2001 vindo antes de 2004, de acordo com os meus selectsficaria assim:id 1 _______ ano 2001id 2 _______ ano 2004todos os resultados do meu primeiro select devem vir antes dos resultados do segundo selectcomo faço isso ?obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em operações com UNION, para a ordenação o comando ORDER BY tem que ficar após o último SELECT

 

veja este tópico no sub-fórum de Artigos, Dicas, Tutoriais e Materias (SQL Server): http://forum.imasters.com.br/index.php?showtopic=224851

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado pelas respostas, mas voces nao entenderampreciso juntar 2 selects com union,mas no resultado final, tem que aparecer daseguinte forma:primeiro os resultados do primeiro select,depois os resultados do segundoalgo como juntar 2 recordsets, entendem ?se tiver alguma forma de juntar 2 recordsets sem precisarde union, me fala por favorobrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado pelas respostas

di nada

mas voces nao entenderam

ninguém é perfeito

preciso juntar 2 selects com union,mas no resultado final, tem que aparecer daseguinte forma:primeiro os resultados do primeiro select,depois os resultados do segundo

a única forma de ordenação que conheço seria pelo ORDER BY, se descobrir alguma outra por favor poste aquioutra sugestão, cria uma tabela virtual com as colunas que vai precisar e adiciona uma nova coluna para ordenação, nesta nova coluna ao adicionar os registros do 1º e 2º select você define um valor fixo para essa nova coluna para posteriormente ordenar por elaboa sorteabraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

é, parece que o unico jeito é utilizando tabela temporaria ou variavel table...

nem precisa de tabela virtual, podes criar uma coluna "virtual" no próprio select e ordenar por ela, veja:
select 2 as colunaordem, * from authorsunion allselect 1 as colunaordem, * from authorsorder by colunaordem

valeu pela ajuda

falows

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.