Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Gente to com um pepino dos grandes aqui para resolver,
Vejam me pediram para montar uma tabela de cadastro, porem estes cadastros devem ser divididos em 2 grupos, em sistema de árvore, tipo binário conforme a imagem abaixo
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.grupoeagle.com.br/tela_exemplo.png&key=f0a74fecd5eb69e481091fb746fb39c757db23aa61691d28365b003f61fee6c5" alt="Imagem Postada" />
Ai preciso epgar e dar um select na tabela para pegar o utimo registro cadastrado dependendo do lado que foi feito oc adastro, ai fiz assim:
SELECT MAX(IdConsultor) as IdConsultor FROM cad_consultor WHERE IdPatrocinador = 1 and PERNACADASTRO = 'E'
Porem a consulta não esta trazendo o ID que realmente eu preciso como referencia para cadastrar o novo cliente, deixa eu ver se consigo explicar usando a imagem acima
com esta imagem consigo demonstrar bem um erro que esotu tendo, iamginemos que o ID:1 primeiro do topo resolva cadastrar alguém do seu lado esquerdo, este deveria cair abaixo do ID:8 (8.5.5) e sua identificação ficaria (12.1.8) 12 seu ID, 1 seu patrocinador, 8 seu Ascendente, para tentar pegar o ID do ascendente que estou tentando utilizar o MAX mas ou eu estou fazendo a consulta de forma errada ou não é com MAX que se faz ou ainda eu precise colocar no banco alguma informação para que a consulta entenda que quando eu peço para pegar o MAX ID do banco de um determinado lado é somente a parte de fora daquela linha e não contar a parte de dentro da linha
tipo parte de fora seria os cadastros (Lado esquerdo: 2.1.1, 4.1.2, 5.2.4, 8.5.5 - Lado Direito: 3.1.1, 6.3.3)
Lado de dentro (chamada de perna interna) (Lado Esquerdo: 7.2.2 - Lado Direito: 9.3.3, 10.9.3, 11.3.10)
O que corre então é isto quando eu dou o Select Max.. ele pega tudo que for referente aquele lado que contenha a identificação 'D' OU 'E' Esquerda ou Direita.
Pessoal agguem sabe como resolver este caso? Desde já agradeço a todos
Carregando comentários...