![]() |
Que tipo de consulta seria
Como puedo generar la siguiente consulta desde
la tabla que tiene estos dos campos: COD DETALLE 1000 XXXXXXXXXXXXXX----- 1100 YYYYYYYYYYYYYYY--- 1200 ZZZZZZZZZZZZZ---- 2000 XXXXXXXXXXXXXX----- 2300 YYYYYYYYYYYYYYY--- 2240 ZZZZZZZZZZZZZ---- quiero obtener el siguiente resultado generando la columna COD_MAESTRO COD DETALLE COD_MAESTRO 1000 XXXXXXXXXXXXXX----- 1000 1100 YYYYYYYYYYYYYYY--- 1000 1200 ZZZZZZZZZZZZZ---- 1000 2000 XXXXXXXXXXXXXX----- 2000 2300 YYYYYYYYYYYYYYY-- 2000 2240 ZZZZZZZZZZZZZ---- 2000 |
Por favor, lee nuestra guía de estilo, gracias.
A ver si aprendemos a poner títulos descriptivos. A hacer preguntas claras. A poner ejemplos que sirvan. ¿Tu teclado tampoco tiene signos de interrogación, ni letras acentuadas, comas, puntos, etc.? |
|
Vaya, pues yo no había entendido que preguntaba nada de eso :confused:
|
Cita:
Saludos :) |
La consulta es expresamente sobre la misma tabla. No existe un maestro por eso la pregunta de como se podria hacer.
|
Hola.
Sería bueno conocer la definición de la tabla, al menos de los campos involucrados en la consulta. Así como también una explicación detallada del resultado que deseas obtener, por ejemplo: "Deseo listar los campos A,B,C,... de la tabla MI_TABLA agrupados por el campo B y estos a su vez ordenados por el campo C." Saludos :) |
|
Cita:
Cita:
Cita:
|
:d :d :d :d :d :d
|
la tabla posee los siguientes campos pero el que importa para este dilema es el campo CODIGO (Interger)
fecha hora grupo codigo cantidad, etc, 20181001 2000 1 1000 0 20181001 2000 1 1125 5 20181001 2000 1 1999 2 20181001 1530 2 2300 0 20181001 1530 2 2350 3 20181001 1530 2 2390 2 20181005 1230 8 5000 0 20181005 1230 8 1234 2 20181005 1230 8 7890 4 El campo fecha, hora y grupo serian unicos para cada grupo Lo que quiero conseguir es que la query devuelva lo siguiente fecha hora grupo codigo cantidad, codigo_maestro, etc 20181001 2000 1 1000 0 1000 20181001 2000 1 1125 5 1000 20181001 2000 1 1999 2 1000 20181001 1530 2 2300 0 2300 20181001 1530 2 2350 2 2300 20181001 1530 2 2390 3 2300 20181005 1230 8 5000 0 5000 20181005 1230 8 1234 2 5000 20181005 1230 8 7890 4 5000 |
Pero, por favor, quieres explicar como coñ... quieres calcular el campo maestro para no dar palos de ciego todo el rato, no ves que no tenemos ni idea de donde sale ni como lo obtienes ni en que te fijas para sacarlo, queremos ayudarte pero no pones mucho de tu parte.
Saludos. |
A ver si nos traen del taller la bola de cristal ;)
|
Vamos a ver. El campo CODIGO_MAESTRO es lo que quiero que la consulta me cree en la devolucion de la misma.
Como se puede ver en los registros de la tabla este campo CODIGO sera el que utilize para general el CODIGO_MAESTRO que sera aquel cullas filas tenga el campo grupo igual a 0. Entonces quiero que este codigo se repita en el nuevo campo generado (CODIGO_MAESTRO) para todos los registros que formen parte del grupo que se obtine fomando la clave fecha-hora-grupo. fecha hora grupo codigo cantidad, codigo_maestro, etc 20181001 2000 1 1000 0 1000 20181001 2000 1 1125 5 1000 20181001 2000 1 1999 2 1000 20181001 1530 2 2350 2 2300 20181001 1530 2 2390 3 2300 20181001 1530 2 2300 0 2300 20181005 1230 8 5000 0 5000 20181005 1230 8 1234 2 5000 20181005 1230 8 7890 4 5000 |
Lo que quieres es representar un árbol en una consult. Te recomiendo estas lecturas:
How to represent a tree structure numerically in SQL Server How to represent a data tree in SQL? |
Yo entendí que lo que dfarias quiere es esto:
|
Pues yo creo entender que... no lo he entendido todavía :confused:
|
No se si logre entender tu pedido, pero te dejo un demo en MS Sql Server.
Hay una aproximacion a tu tabla (la tabla temporal creada). creo que si no es necesario agrupar por hora se puede quitar del grupo. Saludos |
Hola dfarias, además de que no terminas de explicar correctamente nada, tampoco te has dignado a agradecer ni a comentar las ayudas propuestas por los compañeros del foro, escribe algo jomio, ¿te ha servido algo?, ¿has solucionado tu problema?, ¿has reventado con un martillo tu ordenador y por eso no puedes escribir?.
Saludos. |
La franja horaria es GMT +2. Ahora son las 11:47:41. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi