Ir para conteúdo

POWERED BY:

Arquivado

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

Ronaldo Marcos

[Resolvido] Agrupar dados usando duas colunas

Recommended Posts

Tenho um sistema que guarda mensagens dos usuários, basicamente tenho essas colunas no mysql para ele:

 

ID_MENSAGEM, MENSAGEM onde ID_MENSAGEM é a chave primaria e MENSAGEM é o texto em si.

 

Contudo,

 

eu preciso que algumas mensagens sejam relacionadas a outras enviadas antes, então criei um campo a mais para dizer que tal MENSAGEM é parte da outra, mas tudo na mesta tabela, ficaram as seguintes colunas:

 

ID_MENSAGEM, MENSAGEM, ID_RESPOSTA onde ID_RESPOSTA guarda o ID_MENSAGEM ao qual está relacionada.

 

contudo, quero agrupar esses dados exemplo:

 

ID_MENSAGEM, MENSAGEM, ID_RESPOSTA

001 texto01 null

002 texto02 001

003 texto03 null

004 texto04 001

005 texto05 003

 

vejam que as ID_MENSAGENS 002 e 004 tem relação com a 001, por isso no seu campo ID_RESPOSTA TEM 001... enquanto a 005 tem relação com 003.

 

o que eu gostaria é de fazer um select e agrupar os que tem relação, ja tentei usando group by e tudo que achei por ai e nao consegui, o resultado seria o seguinte:

 

ID_MENSAGEM, MENSAGEM, ID_RESPOSTA

 

001 texto01 null

002 texto02 001

004 texto04 001

 

003 texto03 null

005 texto05 003

 

eu poderia fazer isso usando um select dentro de loop, mas ficaria muito pesado dependendo de alguns casos, obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leia matéria da Sql Magazine nº 85 (dados hiearárquicos no MySql) que deve ter ajudar.

 

No Oracle existe o CONNECT BY, quem sabe a Oracle trás isto para o MySql...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leia matéria da Sql Magazine nº 85 (dados hiearárquicos no MySql) que deve ter ajudar.

 

No Oracle existe o CONNECT BY, quem sabe a Oracle trás isto para o MySql...

 

Obrigado Motta, é isso mesmo que queria saber...

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.