lsardinha Postado Março 6, 2006 Denunciar Share Postado Março 6, 2006 Tenho uma tabela como se seque abaixo:Codigo | Nome | Pai001 | João | 002 | Pedro | 001003 | Manoel | 001004 | Maria | 002005 | Marcia | 004006 | Flavia | 007 | Rosa | 006Eu preciso montar um primeiro sql que me mostre todos os pais dessa tabela, consegui fazê-lo:SELECT Tab1.Codigo, Tab1.Nome, Tab1.PaiFROM Tabela AS Tab1 INNER JOIN Tabela AS Tab2 ON Tab1.Codigo=Tab2.PaiGROUP BY Tab1.Codigo, Tab1.Nome, Tab1.PaiORDER BY 2O meu problema agora esta aqui, ao escolher um desses pais ele terá que me trazer todos os filhos dele, incluse ele mesmo, por exemplo:Escolho o joão e ele me retornará:- João- Pedro- Manoel- Maria- MarciaSe escolho o Pedro ele me trará:- Pedro- Maria- Marcia Link para o comentário Compartilhar em outros sites More sharing options...
0 fambo Postado Março 13, 2006 Denunciar Share Postado Março 13, 2006 Tente isso....SELECT nome FROM tab1 WHERE pai = (SELECT pai FROM tab1 WHERE nome = 'Digite O nome');Abraço... Link para o comentário Compartilhar em outros sites More sharing options...
0 lsardinha Postado Março 15, 2006 Autor Denunciar Share Postado Março 15, 2006 SELECT Tab1.Codigo, Tab1.Nome, Tab1.PaiFROM Tabela AS Tab1 INNER JOIN Tabela AS Tab2 ON Tab1.Codigo=Tab2.PaiGROUP BY Tab1.Codigo, Tab1.Nome, Tab1.PaiORDER BY 2Só que preciso pegar pelo codigo.... Link para o comentário Compartilhar em outros sites More sharing options...
0 fambo Postado Março 20, 2006 Denunciar Share Postado Março 20, 2006 Ué.....você já tentou:SELECT nome FROM tab1 WHERE pai = (SELECT pai FROM tab1 WHERE codigo = 'Digite O Codigo');num sei se entendi errado...qualquer coisa posta ai..abraço Link para o comentário Compartilhar em outros sites More sharing options...
0 lsardinha Postado Março 31, 2006 Autor Denunciar Share Postado Março 31, 2006 Dessa forma ele apenas trará os filhos, ficará faltando os demais descendentes... :unsure: Link para o comentário Compartilhar em outros sites More sharing options...
0 ROGERIO VILELA Postado Abril 20, 2006 Denunciar Share Postado Abril 20, 2006 Assim você conseguira o quer, bastando acrescentar na clausula where uma condição se houver necessidade de selecionar algum pai especifico tipo AND TABPAI.NOME = 'joao'SELECT TABPAI.NOME AS NOMEPAI, TABFILHO.NOME AS NOMEFILHO FROM TABELA AS TABPAI, TABELA AS TABFILHO WHERE TABFILHO.PAI = TABPAI.CODIGO ORDER BY TABPAI.NOME[]´s Link para o comentário Compartilhar em outros sites More sharing options...
0 RoXzYn Postado Abril 20, 2006 Denunciar Share Postado Abril 20, 2006 Seu codigo estah cheio de erros eu faço isso aqui em casa diretoSelect Tab1.Codigo, Tab1.Nome, Tab1.PaiFROM Tabela AS Tab1. LEFT JOIN Outratabela AS Tab2 ON Tab1.Codigo=Tab2.XGROUP BY Tab1.Codigo, Tab1.Nome, Tab1.PaiORDER BY Tab1.CodigoAssim você vai pega todos os dados da "Tabela2" mesmo só consuntando a coluna Pai... mas se você queria pegar somente os dados da "Tabela1":Select * FROM Tabela1:D Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
lsardinha
Tenho uma tabela como se seque abaixo:
Eu preciso montar um primeiro sql que me mostre todos os pais dessa tabela, consegui fazê-lo:
O meu problema agora esta aqui, ao escolher um desses pais ele terá que me trazer todos os filhos dele, incluse ele mesmo, por exemplo:
Escolho o joão e ele me retornará:
- João
- Pedro
- Manoel
- Maria
- Marcia
Se escolho o Pedro ele me trará:
- Pedro
- Maria
- Marcia
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados