Ir para conteúdo
Fórum Script Brasil
  • 0

Resultado SQL


XPC

Pergunta

Ola, tenho o seguindo BD (clientes)

cliente a

cliente b

cliente c

e no meu codigo, esses clientes aparecem de seguinte forma:

cliente a

cliente b

cliente c

ou seja, um por linha

e gostaria que eles aparececem 2 ou 3 resultados por linha

cliente a cliente b cliente c

cliente d cliente e cliente f

como faço??

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Bom... aí vai o que você precisa, para exibir o resultado em duas colunas por linha...

Para três ou quatro, deixo por sua conta a modificação...

select nome1, row1, nome2, row2
from
  (select nome1, row1
   from
     (select nome1, (@row1 := @row1+1) as row1 
      from
        (select nome as nome1, (@row1 := 0) as row1
         from clientes
         where nome between "m" and "n"
         limit 10
        ) as consulta_a
     ) as parte1
   where row1 mod 2 = 1
  ) as ladoa
left outer join
  (select nome2, row2
   from
     (select nome2, (@row2 := @row2+1) as row2
      from
        (select nome as nome2, (@row2 := 0) as row2
         from clientes
         where nome between "m" and "n"
         limit 10
        ) as consulta_b
     ) as parte2
   where row2 mod 2 = 0
  ) as ladob
on (ladoa.row1+1=ladob.row2)

O truque é construir-se queries separadas... uma para o lado impar e outra para o lado par... e juntá-las

No exemplo, você aproveita e vê todo o poder do MySQL...

Dentro de cada subquery, criamos uma coluna "ordinal", ou seja, que reflete a ordem da linha do resultado, sendo que na primeira mantivemos apenas as linhas impares e na segunda apenas as linhas pares...

A clausula Limit deve ser tirada de ambas as queries... só a deixei para poder testar com uma quantidade pequena de registros no resultado...

Finalmente, as subqueries precisam ser exatamente iguais com relação à limitação da pesquisa... não daria certo se colocasse a validação de "a" até "z" na primeira e de "m" até "z" na segunda... funcionaria mas o resultado ficaria errado...

Ok?

Espero ter colaborado!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...