Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-04-2011
amerika111 amerika111 is offline
Miembro
 
Registrado: nov 2009
Posts: 168
Poder: 0
amerika111 cantidad desconocida en este momento
Código SQL [-]
select * FROM CONCEPTOS_NO INNER JOIN PAGOS_NOMINA_DET
on PAGOS_NOMINA_DET.CONCEPTO_NO_ID = CONCEPTOS_NO.CONCEPTO_NO_ID INNER JOIN EMPLEADOS
ON EMPLEADOS.EMPLEADO_ID = PAGOS_NOMINA_DET.EMPLEADO_ID INNER JOIN PAGOS_NOMINA
ON EMPLEADOS.EMPLEADO_ID = PAGOS_NOMINA.EMPLEADO_ID    where PAGOS_NOMINA.NOMINA_ID=83858


y esto despliega asi en general

Conceptos Monto Epleados
x1_________ 8.50___ 555
x2_________ 5.50___ 555
x3_________ 6.50___ 555
x4_________ 2.50___ 555
x1_________ 8.50___ 666
x2_________ 5.50___ 666
x3_________ 6.50___ 666
x4_________ 2.50___ 666

y quisiera que se agrupara por empleado pero no logro hacerlo y que los conceptos aparescan como columnas

Empleados x1 x2 x3 x4
555________ 8.50__5.50_6.50_2.50
666________ 8.50__5.50_6.50_2.50
Responder Con Cita
  #2  
Antiguo 07-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 22
oscarac Va por buen camino
Puedes hacer algo asi como esto (usare campos imaginarios)

Código Delphi [-]
 
Select Id_empleado, 
Case when Campo = 'x1', campoimporte else 0 end as x1,
Case when Campo = 'x2', campoimporte else 0 end as x2,
Case when Campo = 'x3', campoimporte else 0 end as x3,
Case when Campo = 'x4', campoimporte else 0 end as x4
from ....

el problema con esta consulta es que debes conocer de antemano cada uno de los conceptos (campo)
__________________
Dulce Regalo que Satanas manda para mi.....

Última edición por oscarac fecha: 07-04-2011 a las 19:15:08. Razón: errores ortograficos
Responder Con Cita
  #3  
Antiguo 07-04-2011
amerika111 amerika111 is offline
Miembro
 
Registrado: nov 2009
Posts: 168
Poder: 0
amerika111 cantidad desconocida en este momento
Cita:
Empezado por oscarac Ver Mensaje
Puedes hacer algo asi como esto (usare campos imaginarios)


Código Delphi [-]
Select Id_empleado,
Case when Campo = 'x1', campoimporte else 0 end as x1,
Case when Campo = 'x2', campoimporte else 0 end as x2,
Case when Campo = 'x3', campoimporte else 0 end as x3,
Case when Campo = 'x4', campoimporte else 0 end as x4
from ....





el problema con esta consulta es que debes conocer de antemano cada uno de los conceptos (campo)

y esto como lo podria integrar a el query que muestro arriba,, lo ingresaria des pues del where o despues de los inner join...
Responder Con Cita
  #4  
Antiguo 07-04-2011
Gallosuarez Gallosuarez is offline
Miembro
 
Registrado: feb 2007
Posts: 92
Poder: 20
Gallosuarez Va por buen camino
Talking Posible solución ...

amerika111:

Ese problema lo solucionas con CTE (Common Table Expressions), que es el equivalente al uso de PIVOT para otras bases de datos.

Aque viene un ejemplo de su uso:
http://www.firebirdsql.org/refdocs/l...d21-select-cte

Saludos,
Gerardo Suárez Trejo
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Consulta con Filas en Columnas afxe SQL 3 30-01-2011 14:52:18
Consulta de Filas y Columnas mjjj SQL 1 19-02-2010 22:24:36
Filas y Columnas pmcastilla Varios 2 07-12-2007 20:22:01
ocultar filas o columnas karla Servers 1 10-08-2006 20:03:18
Filas a columnas nightynvid MS SQL Server 0 31-05-2006 16:22:44


La franja horaria es GMT +2. Ahora son las 17:35:51.


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