Ir para conteúdo

POWERED BY:

Arquivado

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

melquides

Pesquisa com ordenação dupla no sql

Recommended Posts

Olá, primeiramente desculpem-me pelo título que utilizo, pois não sei como descreve-lo, o que preciso é uma query única que selecione primeiramente por uma coluna de minha tabela, em seguida outra relacionada a mesma(pai). Para facilitar vou explicar minha situação:

Possuo uma tabela categorias em meu banco de dados, a mesma tabela possui uma coluna category_id(primaria) e category_parent(onde quando null, a categoria é uma categoria pai, já quando possui algum valor esta será filha da categoria com o mesmo id). Preciso que minha consulta me retorne algo do tipo:

Categoria Pai 1 (category_id = 1, category_parent IS NULL)
Categoria Filha 1 (category id = 32, category_parent = 1)
Categoria Filha 2 (category id = 38, category_parent = 1)
Categoria Filha 3 (category id = 40, category_parent = 1)
Categoria Filha 4 (category id = 42, category_parent = 1)
Categoria Pai 2 (category_id = 5, category_parent IS NULL)
Categoria Filha 1 (category_id = 2, category_parent = 5)
Categoria Filha 2 (category_id = 6, category_parent = 5);
...

(Ilustrei os id's para perceberem que a ordenação precise ser bem genérica).

Tentei utilizar o código:

SELECT cat.* ,(SELECT sub.* FROM mr_categories sub where sub.category_parent = cat.category_id ) FROM mr_categories cat WHERE category_parent IS NUll

Mas me deparei com o seguinte erro:

SQLSTATE[21000]: Cardinality violation: 1241 Operand should contain 1 column(s)


Gostaria de saber se isso é possível e como fazer, desde já agradeço!

Obs.: sei como fazer isso através de duas buscas diferente, mas preciso que seja feita em uma só busca para poder utilizar o limite de minha paginação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Até onde saiba o Mysq não faz query hierarquica , connect by do Oracle , with no SqlServer por exemplo.

 

Veja se este material te ajuda.

 

 

http://pt.stackoverflow.com/questions/45322/select-recursivo-em-hierarquia-de-dados-mysql

 

 

 

http://pt.stackoverflow.com/questions/23808/consulta-no-mysql-com-hierarquia

 

 

http://www.devmedia.com.br/trabalhando-com-dados-hierarquicos-no-mysql/20097

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.