Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-06-2007
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 293
Poder: 18
GustavoCruz Va por buen camino
Question Columnas dimámicas....???

Hola a todos

en este momento tengo una inquietud y me gustaría saber si es posible realizar tal cosa; la cuestión es la siguiente.
tengo una tabla con un campo tipo fecha. luego deseo generar una consulta que me arroje los datos no en filas sino en columnas, me hago a entender, supongase que la tabla tiene 10 registros con 5 meses distintos en un mismo año, la consulta a momento de vaciarla a un dbgrid me debe mostrar las 5 columnas correspondientes a cada mes.

de antemano gracias por todo el interés que se presente
Responder Con Cita
  #2  
Antiguo 03-06-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
La verdad no entiendo muy bien el problema, el dbgrid va a presentar la informacion que se quiera, es cuestion de hacer una consulta sql con un query y darle el orden que se necesite en el dbgrid, no se, no entiendo cual es el problema.
Saludos
Responder Con Cita
  #3  
Antiguo 03-06-2007
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 293
Poder: 18
GustavoCruz Va por buen camino
columnas dinámicas

suponte que la consulta va a generar un campo tipo fecha eso normalmente

fecha
=======
01/05/2007
15/05/2007
01/01/2007
01/02/2007

lo que me gustaría es que mostrara los datos de esta manesra

enero febrero mayo
============================
01/01/2007 01/02/2007 01/05/2007
15/05/2007

creo que ahora sí....
Responder Con Cita
  #4  
Antiguo 03-06-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Creo que lo que quieres podría hacerse con la instrucción SQL "Pivot", el problema es que no todos los motores tienen esa instrucción.

También es posible que puedas simularlo artificialmente, creando una nueva tabla al vuelo y colocando apropiadamente los valores obtenidos.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 04-06-2007
Avatar de rruz
[rruz] rruz is offline
Miembro Premium
 
Registrado: jun 2006
Posts: 146
Poder: 18
rruz Va por buen camino
Hola, que tal algo asi ?

(ej: en mysql)



Código SQL [-]
  Select campo1,campo2,campoN,
  if(month(fecha)=1,fecha,null)      as 'Enero',
  if(month(fecha)=2,fecha,null)      as 'Febrero',
  if(month(fecha)=3,fecha,null)      as 'Marzo',
..
..
..
if (month(fecha)=12,fecha,null) as 'Diciembre' 
from tabla
Para una respuesta mas optimizada o que se ajuste mejor a tus requerimientos necesitaria saber que motor SQL usas.

Saludos
Responder Con Cita
  #6  
Antiguo 05-06-2007
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
ese codigo no le va a servir porque si te fijas necesita que en cada fila aparezcan los datos de todos los meses. Saldria algo como:

Código:
 ENERO -----febrero ----marzo
  01/01/07     null          null
     null       01/02/07    null
     null         null         01/03/07
y lo que el quiere es:
Código:
 ENERO -----febrero ----marzo
  01/01/07    01/02/07  01/03/07
no veo como hacerlo sin usar al menos una tabla temporal o algun algoritmo para llenar la tabla final.

SQL Server y otros tienen una funcion transform y PIvot que en teoría puede hacer eso.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Duda con columnas en DBF NeWsP Tablas planas 11 25-07-2006 19:28:38
Columnas en QReport jdangosto Impresión 1 28-09-2004 16:57:53
Descripcion Columnas OmarPerez Firebird e Interbase 1 16-04-2004 19:50:13
columnas en rxrichedit mosorio Varios 0 14-04-2004 13:36:52
Dos columnas karlita_cb Tablas planas 1 26-03-2004 02:23:21


La franja horaria es GMT +2. Ahora son las 10:12:54.


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
Copyright 1996-2007 Club Delphi