Ir para conteúdo

POWERED BY:

Arquivado

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

leo_davi

Ordenar SELECT

Recommended Posts

Bom pessoal seguinte estou precisando de ajuda em um select vamos lá

 

Tenho a tabela Bairros no SQL Server e nessa tabela tenho os seguintes campos SEQ, BAIRRO1 e BAIRRO2

 

Ai preciso de fazer o seguinte Um select que vai fazer a ordenação pelo nome do Bairro1 e Bairro2

 

Ai vamos a dificuldade.

Os dados na tabelas estão da seguinte forma.

SEQ | BAIRRO1 | BAIRRO2

1 | Cruz | Riacho

2 | Novo Riacho | Sion

3 | Carmo | Prado

4 | Eldorado | vales

 

Ai quero mostrar tanto o bairro 1 quanto o bairro 2 em Ordem alfabética, claro com um select.

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas nao tem como ordenar pelos dois ao mesmo tempo

 

se é o que entendi

Compartilhar este post


Link para o post
Compartilhar em outros sites

creio que nao pois sao campos diferentes num mesmo registro

 

se quiser pode até fazer ambos ordenados mas precisaria fazr um de cada vez

Compartilhar este post


Link para o post
Compartilhar em outros sites

se eles forem "Ligados" por alguma maneira vai fc assim

 

 

Bairro1 Classificado de forma crescente e quando tiver dois iguas ele classificaria o segundo...

 

assim

 

1 | Cruz | Riacho

2 | Cruz | Sion

3 | Eldorado | vales

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah ta

 

isso vai

 

é so colocar pra ordernar por ambos

 

ORDER BY CAMPO1, CAMPO2

 

dessa forma pode

 

mas ordenar individualmente os dois nao vai

Compartilhar este post


Link para o post
Compartilhar em outros sites

um exemplo de registros

 

1 | a | a

2 | a | c

3 | b | c

4 | a | b

5 | b | a

 

Pela sua ordem ficaria como?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte cadastrei os dados como foi sugerido.

Ai me mostrou da seguinte forma

a

a

a

b

a

c

b

a

b

c

 

Meu select ta assim

SQL = "SELECT BAIRROS.BAIRRO1, BAIRROS.BAIRRO2 FROM BAIRROS WHERE BAIRROS.BAIRRO1 <> 'Não' GROUP BY BAIRROS.BAIRRO1, BAIRROS.BAIRRO2"

 

Ta mas também não sei se estou pedindo pra exibir da forma correta Como ficaria pra mostrar da forma correta em ASP, alguém sabe?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas qual foi a consulta que fez? deveria ter vindo em duas colunas?

 

esta ordenado como eu havia falado mas em uma colunas apenas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu select ta assim

SQL = "SELECT BAIRROS.BAIRRO1, BAIRROS.BAIRRO2 FROM BAIRROS WHERE BAIRROS.BAIRRO1 <> 'Não' GROUP BY BAIRROS.BAIRRO1, BAIRROS.BAIRRO2"

 

Essa também é a questão tenho que mostrar um por um.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mesmo que tenham varios registros para o mesmo bairro?

 

enfim como voce quer que apareça?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa situação é valida.

1 | a | a

2 | a | c

3 | b | c

4 | a | b

5 | b | a

 

Ao todo aqui temos 10 Bairros cadastrados, 5 no bairro1 e 5 no bairro2.

Ai quero mostrar os 10 Bairros em ordem alfabética um em cada linha.

 

Dessa forma.

a

a

a

a

a

b

b

b

c

c

Compartilhar este post


Link para o post
Compartilhar em outros sites

se fosse duas tabelas diferentes seria facil

 

sendo an mesma voce pode armazenar tudo em um array e ordenar antes de exibir

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce está programando em alguma linguegem ou é so no db mesmo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe estou me metendo onde não é chamado

 

Pelo que entendi, você quer agrupar os campos e ordenar como se fosse uma tabela só...

Tentou criando temporarios

 

drop table #tabela1

drop table #tabela2

 

select Bairro1 as Bairro, seq As Posicao into #tabela1 from teste order by bairro1

select Bairro2 as Bairro, seq As Posicao into #tabela2 from teste order by bairro2

 

select * from #tabela1

union

select * from #tabela2

order by bairro

Compartilhar este post


Link para o post
Compartilhar em outros sites

este cod. eh meio que uma RTA, mas funciona:

 

create table #temp (bairro1 varchar(10), bairro2 varchar(10))

insert into #temp
select 1,2

insert into #temp
select 2,1

insert into #temp
select 3,4

insert into #temp
select 4,3



create table ##tempA (result varchar(50))

insert into ##tempA
select bairro1 from #temp

insert into ##tempA
select bairro2 from #temp

select * from ##tempA  order by result

drop table #temp
drop table ##tempA

isso eh soh pra ter uma ideia de como fazer, você pode fazer por tab. temporaria, cursor, while..

 

Abçs

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.