Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como despliego estos datos en un grid?? (https://www.clubdelphi.com/foros/showthread.php?t=50954)

Gaim2205 03-12-2007 17:01:37

Como despliego estos datos en un grid??
 
quiero saber como realizar lo siguiente :

Los campos de mi tabla acum_concepto son (trabajador[int], concepto[int], tiempo[real], importe[real])
La tabla conceptos tiene los campos (concepto[int], descripcion[string])

y me gustaria desplegar los datos de la siguiente forma en un DBGrid:

Trabajador - descripcion - tiempo - importe

Parece sencillo, el problema es que la descripcion no seria solo una columna, sino una columna por cada concepto que se encuentre en la tabla acum_concepto. Ejemplifico:

Tabla acum_concepto:
Trabajador Concepto Tiempo Importe
1 - 100 - 7 - 700.00
1 - 101 - 7 - 350.00
1 - 102 - 5 - 200.00

Como quedaria el grid:
Trabajador Sueldo Horas extra Bonificacion
1 - 700.00 - 350.00 - 200.00

donde sueldo, horas extra y bonificacion son las descripciones de los conceptos 100, 101 y 102 respectivamente.
Espero no haber sido muy confuso en mi explicacion, Gracias a quien esté dispuesto a ayudar :)

ContraVeneno 03-12-2007 17:29:55

Si utilizas SQL Server, algo como:

Código SQL [-]
...
case when Concepto = 100 then importe else 0 end Sueldo,
case when Concepto = 101 then importe else 0 end HorasExtra,
...
te puede ayudar.

Si utilizas Acsses, consulta sobre la función "PIVOT"

Gaim2205 03-12-2007 22:06:39

Gracias! muy util.. aunque un pequeño detalle....

el codigo que ingresé:
Código SQL [-]
SELECT DISTINCT
Fecha,
case when Concepto = 1110 then importe else 0 end Sueldo,
case when Concepto = 1150 then importe else 0 end Vacaciones
FROM dbo.acum_concepto 
WHERE 
dbo.acum_concepto.trabajador = 8089 and dbo.acum_concepto.fecha between '20071028' and
'20071125'

y el detalle es que me pone un renglón "extra" antes de cada renglon valido, con la diferencia que el valor de sueldo y vacaciones es 0.

ejemplo:
Fecha - Sueldo - Vacaciones
28/10/2007 - 0 - 0
28/10/2007 - 700.00 - 200.00
01/11/2007 - 0 - 0
01/11/2007 - 900.00 - 100.00

No quiero ese renglon con los ceros.

Gracias.


La franja horaria es GMT +2. Ahora son las 14:58:08.

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