Boa Noite a todos, Estou com uma situação de um SQL que não estou conseguindo resolver. Bom, eu tenho uma tabela de menu + ou - com a seguinte estrutura:
COD_MENU INT TEXTO_MENU CHAR COD_MODULO INT COD_MENU_PAI INT Estou criando uma TreeView dinamicamente, que é o meu Menu Principal do Sistema. Para que coloque os registros na treeview dinamicamente, eles teriam que estar cadastrados na tabela na ordem certa, conforme o exemplo abaixo: COD_MENU TEXTO_MENU COD_MODULO COD_MENU_PAI 1 texto 1 1 0 2 texto 2 1 0 3 texto 3 1 0 4 texto 4 1 3 5 texto 5 1 0 sendo que o registro com código 3 é um submenu, que terá o registro com código 4 em outro nível da Treeview. Como isso não vai acontecer, eu posso ter um registro que está no final da tabela, que pertence a um ítem de menu que está lá no início da tabela, e vice-versa como no exemplo abaixo: COD_MENU TEXTO_MENU COD_MODULO COD_MENU_PAI 1 texto 1 1 0 2 texto 2 1 0 3 texto 3 1 0 4 texto 4 1 2 5 texto 5 1 0 6 texto 6 1 3 A dúvida é como criar um SQL para que ele retorne os registros do exemplo acima na seguinte ordem: COD_MENU TEXTO_MENU COD_MODULO COD_MENU_PAI 1 texto 1 1 0 2 texto 2 1 0 4 texto 4 1 2 3 texto 3 1 0 6 texto 6 1 3 5 texto 5 1 0 Estou trabalhando no meu exemplo no Delphi 2009 Trial, com o banco de dados MySQL 5.0.67 e DBExpress (SQLConnection), pois a versão do MySQL 5.1.30 ele não aceita, pela incompatibilidade do LibMySQL.dll com o DBXMys..dll. Aguardo qualquer sugestão, desde já agradecendo a todos. Denilson - 17/12/2008. Gerencial Sistemas. Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]