Ir para conteúdo

POWERED BY:

Arquivado

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

duquesimba

[Resolvido] Pequeno problema com resultado de consulta

Recommended Posts

Boa noite a todos

 

Tenho uma consulta a um banco de dados que funciona perfeitamente me traz todos os dados. O que preciso seria agrupar estes dados como explico abaixo:

 

Estrutura do banco e consulta

 

ordem|func1|func2|func3

faxina|1|5|2

jogar lixo fora|4|8|1

lavar|2|7|1

 

verifiquem que os funcionario aparecem em campos diferentes

 

o resultado final fica:

faxina - nome funcionario1

jogar lixo fora - nome funcionario1

lavar - nome funcionario1

faxina - nome funcionario2

lavar - nome funcionario2

e assim até o final

 

Quero que fique assim:

 

Nome funcionario(1)

faxina

jogar lixo fora

lavar

 

Nome funcionario(2)

faxina

lavar

 

Nome funcionario(3)

Neste caso com retorno (0) mensagem "sem ordens"

 

e assim até o último funcionário

 

 

O nome vem de outra tabela onde uso INNER JOIN, simplifiquei a consulta só para terem uma noção.

 

O problema esta realmente em como agrupar os resultados de cada funcionário.

 

Desde já agradeço a ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo que entendi ...

 

select func1,ordem 
from tabela
unions
elect func2,ordem 
from tabela
union
select func3,ordem 
from tabela

 

Seria isto ?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antes de mais nada desculpe pela demora, fiquei sem net em casa.

 

Motta a consulta seria isso mesmo, mais o meu problema esta na hora de retornar o resultado, quero o resultado como postei anteriormente:

 

Nome do funcionario 1

ordem tal

ordemn tal

ordem tal

 

Nome do funcionario 2

ordem tal

ordem tal

 

Na verdade acho que o problema nem esta no forum certo (Mysql), seria mais PHP.

 

Obrigado.

 

Desculpe a demora, fiquei com problemas na net em casa.

 

Antes de mais nada obrigado ao Motta pela resposta.

 

A consulta esta ok, preciso mesmo e de ajuda na hora de mostrar o resultado como exemplo no post anterior.

 

Nome funcionario 1

ordem 1

ordem 2

ordem 3

 

Nome do funcionario 2

ordem 1

ordem 2

 

Quero o nome do funcionario como cabeçalho e as ordens deste funcionário logo abaixo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema começa no fato de que a tabela esta totalmente desnormalizada.

 

o correto seria:

 

ordem|funcionario|qtde_vezes

lavar|"João"|50

passar|"Pedro"|34

lavar|"Maria"|52

 

Embora é possível obter essa resposta que você quer via SQL, é 300 vezes mais fácil via PHP com um while

Compartilhar este post


Link para o post
Compartilhar em outros sites

Queria agradecer antes de mais nada ao Motta e ao Giesta pela ajuda.

 

Consegui solucionar o problema que estava na consulta.

Estava consultando primeiro o banco das ordens e depois do funcionário, inverti a consulta e solucionei o problema com While e If.

 

Obrigado.

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.