FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Doble consulta a la misma tabla usando el mismo ado.query
Buenas, como lo dice el titulo necesito hacer dos bucles con consultas casi similares pero utilizando el mismo ado.query. En caso de no poderse me lo dejan saber y creo un nuevo query pero eso cargaria mucho el programa . ok tengo la tabla menu con un id, caption, etc, idmenup este ultimo hace referencia al id del cual es hijo. Esto para convertir los datos en un memo y poder utilizar el menu desde texto del increible y asombroso semidios Neftali.
Primero creo el select * from menu where idmenup = 0 (Opciones principales del menu), y luego con el id cambio el sql a Select * from menu where idmenup = idobtenido. el problema radica en cuando vuelvo a realizar el primer sql empiezo desde el principio y no en la row que deberia quedar. Ya he visto muchos puntos sobre bookmark pero siempre esta en 0. Si tienen alguna forma o idea de como resolver esto se lo agradecere. |
#2
|
||||
|
||||
Mejor describe la tabla con sus campos y di lo que quieres hacer.
|
#3
|
||||
|
||||
Creo que quedaría así:
Código:
MENU id idmenup descripcion ID IDMENUP DESCRIPCION 1 0 PRINCIPAL 2 1 SUBMENU PRINCIPAL 1 3 1 SUBMENU PRINCIPAL 2 4 1 SUBMENU PRINCIPAL 3 5 0 SECUNDARIO 6 5 SUBMENU SECUNDARIO 1 7 5 SUBMENU SECUNDARIO 2 8 5 SUBMENU SECUNDARIO 3 Devolvería: Código:
ID DESCRIPCION ID DESCRIPCION 1 PRINCIPAL 2 SUBMENU PRINCIPAL 1 1 PRINCIPAL 3 SUBMENU PRINCIPAL 2 1 PRINCIPAL 4 SUBMENU PRINCIPAL 3 5 SECUNDARIO 6 SUBMENU SECUNDARIO 1 5 SECUNDARIO 7 SUBMENU SECUNDARIO 2 5 SECUNDARIO 8 SUBMENU SECUNDARIO 3 |
#4
|
||||
|
||||
Si tienes un motor moderno, se puede hacer con un CTE:
https://learnsql.com/blog/do-it-in-s...ree-traversal/ https://learnsql.com/blog/query-parent-child-tree/
__________________
El malabarista. |
#5
|
||||
|
||||
Gracias a mamcx quisiera modificar mi respuesta.
Esto lo he probado en Firebird 2.5 Código:
MENU id idmenup orden -- Orden de los items de menu usuario -- Usuario para definir diferentes menus/ordenaciones por usuario descripcion Indexado por (usuario, idmenup) ID IDMENUP ORDEN USUARIO DESCRIPCION 1 0 1 1 PRINCIPAL 2 1 1 1 SUBMENU PRINCIPAL 1 3 1 2 1 SUBMENU PRINCIPAL 2 4 1 3 1 SUBMENU PRINCIPAL 3 5 0 2 1 SECUNDARIO 6 5 1 1 SUBMENU SECUNDARIO 1 7 5 2 1 SUBMENU SECUNDARIO 2 8 5 3 1 SUBMENU SECUNDARIO 3
Última edición por duilioisola fecha: 08-09-2022 a las 08:53:34. |
#6
|
|||
|
|||
Gracias duilioisola
Gracias duilioisola, as dado en el clavo de lo que queria ahora probare a ver si me funciona. Perdon por no colocar la configuracion de la tabla.
dbo.Menu
Donde mmenu es el id y midmenup es el id al que pertenece cuando es una opcion o submenu. Deberia ser 1 to N pero se me complicaria ya que el ejemplo de Neftali aparte de darlo como un texto organizado Menu/submenu en mi tabla lo podras crear sin ningun orden. o agregar opciones despues. implementare tu respuesta y te dejo saber. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta doble sobre una tabla | amerika111 | SQL | 1 | 24-06-2013 18:33:31 |
consulta con campos adicionales a tabla en la misma fila | jasmad | SQL | 3 | 16-04-2013 17:13:56 |
Consulta usando query en delphi 7 | Yensis22 | SQL | 3 | 25-08-2008 12:29:55 |
Consulta usando query en delphi 7 | Yensis22 | SQL | 4 | 25-08-2008 07:03:05 |
Consulta con dos relaciones a la misma tabla | mcrz2 | SQL | 4 | 23-05-2006 13:15:25 |
|