Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Consulta Dificil (https://www.clubdelphi.com/foros/showthread.php?t=27373)

Abel Garcia 18-11-2005 16:38:13

Consulta Dificil
 
Es Posible Lograr Una Consulta De este Tipo ya sea por medio de algun
"Select Complicado" o talvez por medio de un Procedimiento:

Se tiene una Tabla Como esta:

ID Name TIME VALUE
1 NAME_1 TIME_1 VAL_1_1
1 NAME_1 TIME_2 VAL_1_2
1 NAME_1 TIME_3 VAL_1_3
:
1 NAME_1 TIME_n VAL_1_n
2 NAME_2 TIME_1 VAL_2_1
2 NAME_2 TIME_2 VAL_2_2
2 NAME_2 TIME_3 VAL_2_3
:
2 NAME_2 TIME_n VAL_2_n

3 NAME_3 TIME_1 VAL_3_1
3 NAME_3 TIME_2 VAL_3_2
3 NAME_3 TIME_3 VAL_3_3
:
3 NAME_3 TIME_n VAL_3_n
:
:
Rn NAME_Rn TIME_1 VAL_Rn_1
Rn NAME_Rn TIME_2 VAL_Rn_2
Rn NAME_Rn TIME_3 VAL_Rn_3
:
Rn NAME_Rn TIME_n VAL_Rn_n


:confused: Sera Posible Obtener este Resultado de la consulta:

TIME NAME_1 NAME_2 NAME_3 .. NAME_Rn
TIME_1 VAL_1_1 VAL_2_1 VAL_3_1 .. VAL_Rn_1
TIME_2 VAL_1_2 VAL_2_2 VAL_3_2 .. VAL_Rn_2
TIME_3 VAL_1_3 VAL_2_3 VAL_3_3 .. VAL_Rn_3
:
:
TIME_n VAL_1_n VAL_2_n VAL_3_n .. VAL_Rn_n

Lo veo Dificil Por el numero de Columnas el cual es Variable
Espero se Pueda hace algo, Ustedes que opinan...

De antemano gracias por su amable ayuda.

vtdeleon 18-11-2005 17:49:04

Saludos
Es posibre!!
Analiza este hilo

Abel Garcia 18-11-2005 18:27:47

Perfecto
 
Cita:

Empezado por vtdeleon
Saludos
Es posibre!!
Analiza este hilo

Saludos .

SELECT Year,
____SUM(CASE Quarter WHEN 1 THEN Amount ELSE 0 END) AS Q1,
____SUM(CASE Quarter WHEN 2 THEN Amount ELSE 0 END) AS Q2,
____SUM(CASE Quarter WHEN 3 THEN Amount ELSE 0 END) AS Q3,
____SUM(CASE Quarter WHEN 4 THEN Amount ELSE 0 END) AS Q4
FROM Pivot
GROUP BY Year

:eek: Oau simple mente perfecto ..... :)
Gracias vtdeleton


Solo queda algo para que esto fuera simplemente SUPREMO, cres que esto se podria obtener pero por medio de un procedimiento en la base de datos para que este pueda tener un numero de columnas variables ?.
En el mismo hilo hay una forma para hacer esto pero por medio de delphi.

jachguate 18-11-2005 19:00:27

Hola Abel.

Te invito a leer la guia de estilo y el hilo de la calidad de las preguntas, además de darte una vuelta por el foro de debates.

Allí verás por que un título como el que has puesto a este post resulta inaceptable en estos foros. Tomá esto como una llamada de atención amistosa.

Hasta luego.

Abel Garcia 18-11-2005 19:29:32

Cita:

Empezado por jachguate
Hola Abel.

Te invito a leer la guia de estilo y el hilo de la calidad de las preguntas, además de darte una vuelta por el foro de debates.

Allí verás por que un título como el que has puesto a este post resulta inaceptable en estos foros. Tomá esto como una llamada de atención amistosa.

Hasta luego.

Hola jachguate, perdon he recibido mucha ayuda en este foro y lo menos que me gustaria es provocar el descontento de alguien, por el agradecimiento a la amable ayuda de todos los participantes.
Estoy dando lectura a los Links que me invitas a leer pero la verdad no determino donde esta mi error del Post Anterior "Talvez el Icono es incorrecot o talvez la palabra Perfecto...", si me lo pudieras aclarar :confused: te lo agradeceria. La verdad no me gustaria volver a repetir algo no permitido en el foro.
Gracias

Héctor Randolph 18-11-2005 19:40:50

Bueno, tal vez el amigo jachguate se refiere a que el título del hilo original no es adecuado, es decir, 'Consulta difícil' no refleja nada acerca de la duda que quieres resolver.

Por otra parte cuando publicas código, deberías encerrarlo entre etiquetas para facilitar la lectura del mismo.

busca información en el foro acerca de las etiquetas VBCode por ejemplo: delphi, php, code, sql.

Observa la diferencia:
Código SQL [-]
SELECT Year,
      SUM(CASE Quarter WHEN 1 THEN Amount ELSE 0 END) AS Q1,
      SUM(CASE Quarter WHEN 2 THEN Amount ELSE 0 END) AS Q2,
      SUM(CASE Quarter WHEN 3 THEN Amount ELSE 0 END) AS Q3,
      SUM(CASE Quarter WHEN 4 THEN Amount ELSE 0 END) AS Q4
FROM Pivot
GROUP BY Year

Se ve mucho mejor ¿no crees?

Otra cosa, si quieres hacer otra pregunta pero de diferente naturaleza, es mejor que la hagas en otro hilo.

Aclaro, no es que estes haciendo algo no permitido en el foro, tampoco es un regaño, solamente que si procuras seguir estos pequeños consejos será más fácil que obtengas ayuda de los miembros del club.

Un saludo.


La franja horaria es GMT +2. Ahora son las 04:34:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi