Ir para conteúdo

Arquivado

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

chrysller

Problema - Determina resultado select mysql

Recommended Posts

Olá, crie uma tabela como os campos id, nome e tipo

 

| id | nome | tipo |

| 1 | ana | 1 |

| 2 | joão | 1 |

| 3 | antonio | 2 |

| 4 | jó | 1 |

| 5 | ze | 1 |

| 6 | chico | 2 |

 

quero ter o seguente 'tipo' (1,2,1,2,1,2...) resultado usando SELECT

 

| id | nome | tipo |

| 1 | ana | 1 |

| 3 | antonio | 2 |

| 2 | joão | 1 |

| 6 | chico | 2 |

| 4 | jó | 1 |

| 5 | ze | 1 |

 

isso tem solução?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a lógica para fazer 1,2,1,2 ?!

 

Não me ocorre uma solução via SQL.

 

Talvez criar uma coluna ordenadora na tabela.

 

Qual seria o motivo desta ordem ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a lógica para fazer 1,2,1,2 ?!

 

Não me ocorre uma solução via SQL.

 

Talvez criar uma coluna ordenadora na tabela.

 

Qual seria o motivo desta ordem ?

 

E pq estou criando uma lista de pacientes onde no campo 'tipo' = o 1 é prioridade e o 2 é normal

 

o meu sistema quero exibe a lista primeiro vem uma prioridade depois um normal uma prioridade um normal!('1,2,1,2,1')

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas pq ana vem antes de joão e/ou antonio antes de chico ?

 

Seria pela data/hora ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas pq ana vem antes de joão e/ou antonio antes de chico ?

 

Seria pela data/hora ?

Não, Pq alguns tem prioridades, a ana tem prioridade tipo 1...

antonio tipo 2 então vem depois da prioridade e pois vem outra prioridade joão

 

ana = tipo: 1

antonio = tipo: 2

joão = tipo:1

chico = tipo 2

 

(1 = prioridade 2 = normal)

 

eu so quero da um select no banco e mostra prioridade, normal, prioridade, normal, prioridade, normal ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas pq ana vem antes de joão e/ou antonio antes de chico ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Confuindiu minha cabeça agora hahaha, isso que o Motta disse tem lógica, pois você está comparando vários campos como 1 ou 2 os campos/itens 1 tem que vir antes dos itens 2, a idéia não é que sejam prioridades?

Compartilhar este post


Link para o post
Compartilhar em outros sites

a ideia da prioridades deixa pra la isso só foi um exemplo...

 

eu so quero um comando que faça uma lista onde o campo (tipo) fique 1,2,1,2

isso é possível?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma cambiarra para Oracle

 

select SEQ, id , NOME , TIPO 
from
(
select rownum  seq, id , NOME , TIPO 
from TABELA
where TIPO = 1
union 
select rownum  seq,id , NOME , TIPO 
from TABELA
where TIPO = 2
) virtual
order by seq,tipo

 

rownum é uma coluna virtual da Oracle que dá o número da linha do result set, exemplos para mysql abaixo

 

http://dev.mysql.com/doc/refman/5.0/en/user-variables.html

 

http://www.devmedia.com.br/forum/obter-equivalente-ao-rownum-do-oracle-para-o-mysql/30959

 

obs, não testei.

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.