Ir para conteúdo

POWERED BY:

Arquivado

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

Roberto F.

Recursividade de Query

Recommended Posts

Olá!

 

Bem... eu já procurei muito na net, mas não encontrei soluções,

cada uma faz de um jeito, no site do MySQL está totalemente confuso

 

mas gostaria de saber se vocês sabem como usar recursividade em Query e poder me exlicar como fazer,

em MsSQL é bem fácil, mas, em My estou apanhando.... e não tenho nem ideia....

 

 

Bem... para os que não conhecem, também, essa é uma forma de você economizar tempo e processos do Servidor Web.

Com a recusividade você prepara as informações de Loop retornando a query.

 

Exemplo na TabelaMundo:

 

Campos:

 

ID - NOME - ParentID

 

Temos os seguintes dados

 

 

ID - NOME - ParentID

1 - BRASIL - (NULL / 0 )

2 - SAO PAULO - 1

3 - SANTO ANDRE - 2

4 - MINAS GERAIS - 1

5 - BELO HORIZON. - 4

 

 

 

Nisso temos uma lista

 

  • Brasil

    • São Paulo

    • Santo André
  • Minas Gerais

    • Belo Horizonte

 

Simples neh!?

 

Enfim galera, quem souber como retornar a árvore! puts

agradeço demais!

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

select m.nome,n.nome

from mundo as m,

mundo as n

where(m.id=n.nome)

 

 

Nao tenho certeza na logica do where, porem

 

aconteceu comigo quando eu queria selecionar 2 itens da mesma tabela eu tive que utilizar apelidos.

Tbm estou começando.

espero ter ajudado

abc

Compartilhar este post


Link para o post
Compartilhar em outros sites

maninho outra dica

quando você tiver alguma duvida

 

bota os query de criaçao de tabela e insert,

pq assim fica mais facil de testar.

abc

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT A.MEN_NOME, B.MEN_NOME
FROM tblmenusite AS A, tblmenusite AS B
WHERE (
A.MENUID = B.MEN_PARENTID
)
LIMIT 0 , 30

Puts cara isso realmente deu certo para Arvores com 2 níveis, ainda não testei para 3... mas puts,

que rebolada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, na verdade quase issooooo

O retorno voltou em 2 colunas

mas não pode ser assim...

Ele tem que ser simplesmente 1 linha.

 

Poutsssssssssssss.....................

 

 

Ex

 

-Nivel1

-- Nivel2

--- Nivel3

-- Nivel2

-Nivel1

 

 

Mas também está valendo como você trouxe, ficou legal e simples!

 

Mas ainda não é isso...

 

 

Exemplo tenho que fazer um sistema de produtos

 

os produtos podem ter departamento, categoria, subcategoria, subsubcateria, e por assim vai conforme quiser cadastar....

 

 

Acho que na logica teria que pegar como você fez, e jogar em uma tabela temporária, então com os registros selecionados eu jogar eles por ID...

na resposta então eles terão ids únicas em sequência de acordo com o Parent ID.... Ix

to confundindo tudo... ahhha

 

Sei lá to meio já em Neura, nem na lógica disso estou conseguindo pensar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa e so a consulta no mysql

mas na linguagem que você utiliza para acesar o mysql

tipo php

 

query

loping(query)

echo 'resultado[0].resultado[1]';

você concatena pela linguagem que utiliza, acho qeu assim fica mais facil

 

escreva resultado[0]+resultado[1]

sendo que + e o comando de atribuiçao.

 

Bom para vendas eu faria assim.

 

tabela produto

id nome tipo

1 sapato 1htthtt

2 calça 2

3 camisa 3

htt

tabela tipo_geral

id,nome

2,calça

3,camisa

1,sapato

 

tabela tipo_sapato

id,nome

1,couro

2,lona

3,camurça

 

tabela_tipo_calça

1,poliester

2,jeans

3,micro fibra

 

tabela_tipo_camisa

id,nome

1,algodao

2,malha

3,poliester

 

tabelas compras

id_compra,id_produto, bal bla bla

 

fazendo o select da descriçao dos produtos

select c.id_produto, p.nome,t.nome

from

compras as c,

produtos as p,

tipo as tg

where ((c.id_produto=p.id) AND(p.tipo=tg.id))

 

 

A logica consiste em

tabela produto

tipo de Produto(roupa,brinquedo,eletronico)

sub tipo eletronico(dvd,video game,tv)

sub tipo roupa(camisa,calça,tshort)

sub_sub tipo camisa(malha,.algodao,)

e assim vai cada sub tipo uma nova tabela

 

mas Provavelmente tera que utilizar algum IF nos query do tipo

os IDs do tipo possuem subtipo ou nao

ex:

IF (select * from sub_tipo_x)

ai faz o select do nome da subcategoria do produto.

 

espero ter ajudado e nao complicado

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Cara, Valew......

eu anda estou apanhando, porque na verdade irei fazer um menu

....

 

Quero colocar menus e submenus... até aí tudo certo

fogo é quando eu tenho menu submenu submenu... ou até mesmo mais um submenu...

 

to quase trocando de MySQl para SQL Server! ahaha

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.