Função Recursiva

pfcs

Membro
Boa tarde,

Tendo uma tabela com este aspecto:

Produto BOM
001 002
002 003
002 004
002 005
003 006
003 007
003 008
004 009
005 010
005 011

Alguém conhece alguma função que ao indicar um Produto, liste todas as BOM's onde esse produto é usado?

Exemplo: Neste caso ao introduzir o produto 001, iria lista as BOM's 002, 003, 004 e 005 (estas 3 associadas à 002), 006, 007, 008 (associdas à 003), a 009 (vinda da 004) e as 010 e 011 (vindas da 005)..

A maior dificuldade com que me estou a deparar é o facto de ser apenas uma tabela..
Julgo que seja necessário criar uma função recursiva... não??

Obrigado

P.S.: não posso usar whiles dentro de whiles porque nunca sei quantos níveis irei ter!!
 
e isso em que linguagem?
a tabela está numa base de dados? num array?

podes explicar melhor o exemplo? acho que não percebi bem esse

e em principio deve dar para fazer com um while, porque deve haver uma maneira (dependendo da linguagem e da estrutura que estás a usar) de contar o numero de registos da tabela
 
Depende da linguagem e das estruturas de dados que estás a usar... se fôr em C# podes construir um Dictionary, em que a chave é produto e o value uma lista com as BOOM a ele associadas, por exemplo.
 
Boa tarde,

Tendo uma tabela com este aspecto:

Produto BOM
001 002
002 003
002 004
002 005
003 006
003 007
003 008
004 009
005 010
005 011

Alguém conhece alguma função que ao indicar um Produto, liste todas as BOM's onde esse produto é usado?

Exemplo: Neste caso ao introduzir o produto 001, iria lista as BOM's 002, 003, 004 e 005 (estas 3 associadas à 002), 006, 007, 008 (associdas à 003), a 009 (vinda da 004) e as 010 e 011 (vindas da 005)..

A maior dificuldade com que me estou a deparar é o facto de ser apenas uma tabela..
Julgo que seja necessário criar uma função recursiva... não??

Obrigado

P.S.: não posso usar whiles dentro de whiles porque nunca sei quantos níveis irei ter!!


Hum, deixa me cá ver, o 001 é "pai" do 002 que por sua vez é "pai" do 003, 004, 005?

se for assim funciona quase como um backoffice de uma pagina de internet, logo, sim, a função recursiva é a melhor solução visto que poupas muitas linhas de codigo, e torna o programa mais leve...
 
Back
Topo