Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera, alguém saberia me dizer como devo fazer para uma busca retornar todos os resultados possíveis que levem de um ponto X a Y. Ex.:
X -> A -> D -> Y
X -> B -> J -> M -> Y
X -> Y
X -> B -> Y
No caso seria listados todos os resultados pois levam X até Y. Aguardeço desde já a todos!!!
Olá jpraminelli, não montei nada pois não tenho noção de como seria o jeito ideal, se armazeno tudo em uma só tabela ou cada ponto individualmente, então preciso de uma ajuda pra ter noção de como iniciar... Obrigado
bom vamos la entao..
seria algo assim entao
select * from tabela where pontoInicial = 'X' and pontoFinal = 'Y'
isso iria listar todos os caminhos que começan no X e terminam no Y
e se no caso tiver
X -> A -> B
B -> J -> M -> Y
A -> Y
nesses o ponto X não leva a Y mas teria alternativas de seguir pelo ponto A ou B e ai chegaria até o Y... esse é o problema maior pra resolver, pois não sei se é possível.
observe que na consulta
select from tabela where pontoInicial = 'X' and pontoFinal = 'Y'*
tem uma clausula where, que irá trazer apenas os que começam em X e terminam em Y, essas alternativas que você citou nao iriam aparecer
correto, só que preciso faça uma varredura completa para checar todas as possibilidades mesmo as que não seja ligadas diretamente X a Y como
X -> A -> B
B -> J -> M -> Y
A -> Y
então quando chegasse em B ele procuraria opções que levassem B até Y
como esta a estrutura da tabela no banco de dados