Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
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 20-06-2006
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is online now
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 260
Poder: 21
Carmelo Cash Va por buen camino
Colocar el resultado en una columna u Otra

Hola foro:
Tengo una tabla con dos campos, COLUMNA e IMPORTE, donde columna puede ser 1,2 o 3, Ejemplo

COLUMNA-IMPORTE
1--------------100
2---------------10
3--------------(50)

necesito hacer una consulta que devuelva como resultado

Sueldos---Otros---Retenciones
----100
-------------10
--------------------------(50)

O sea, que coloque el resultado de IMPORTE en cada columna según el campo Columna

Sería algo como

Select IMPORTE (si columna es 1),IMPORTE (si columna es 2), IMPORTE(si columna es 3)

Bueno, desde ya perdón por el delirio y gracias por su atención.
Responder Con Cita
  #2  
Antiguo 20-06-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.267
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Esto debe funcionar:
Código SQL [-]
select IMPORTE as Sueldos, NULL as Otros, NULL as Retenciones from tabla
where COlumna=1
union
select NULL as Sueldos, IMPORTE as Otros, NULL as Retenciones from tabla
where COlumna=2
union
select NULL as Sueldos, NULL as Otros, IMPORTE as Retenciones from tabla
where COlumna=3
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 20-06-2006
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is online now
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 260
Poder: 21
Carmelo Cash Va por buen camino
Gracias

SI, anda. Cómo no se me ocurrió!!!
Mejor que me vaya a dormir un rato.
Gracias
Responder Con Cita
  #4  
Antiguo 20-06-2006
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is online now
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 260
Poder: 21
Carmelo Cash Va por buen camino
Otro comentario y pedido 2

Pude solucionar utilizando la consulta sugerida por Neftali, pero sin las opciones NULL, porque me daba un error
Data type unknown

la solución que encontré fué reemplazarlos por 0.00. Con o (cero) también aparecía el mismo error. ¿?.

Quedó así.

select IMPORTE as Sueldos, 0.00 as Otros, 0.00 as Retenciones from tabla
where COlumna=1
union
select 0.00 as Sueldos, IMPORTE as Otros, 0.00 as Retenciones from tabla
where COlumna=2
union
select 0.00 as Sueldos, 0.00 as Otros, IMPORTE as Retenciones from tabla
where COlumna=3


Pedido 2


Se puede obtener en una consulta los tres totales en una sola fila?.
Utilizo group by en cada consulta pero me hace un total por cada una de ellas.

la idea es que quede
Importe---Otros---Retenciones
----100-----10-----------(50)

y me sale
Importe---Otros---Retenciones
----100
-------------10
--------------------------(50)

Queda claro que esta segunda consulta es para mostrar los totales por cada columna. Se puede hacer con 3 consultas, pero con una sola también se debe poder hacer (creo).

Como siempre muchas gracias por su atención.
Responder Con Cita
  #5  
Antiguo 21-06-2006
bismarck_sierra bismarck_sierra is offline
Miembro
 
Registrado: ene 2004
Ubicación: Morelia, Michoacán, México
Posts: 70
Poder: 21
bismarck_sierra Va por buen camino
Que tal Carmelo

Si utilizas Firebird 1.5, sería algo así para obtener un solo renglón

SELECT SUM(CASE columna WHEN 1 THEN importe ELSE 0 END) AS sueldos,
SUM(CASE columna WHEN 2 THEN importe ELSE 0 END) AS otros, SUM(CASE columna WHEN 3 THEN importe ELSE 0 END) AS retenciones FROM tabla WHERE empleado = 1

Espero que sea lo que necesitas

Saludos
Bismarck
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
Cómo colocar el resultado de una consulta en un ComboBox??? gusanita Varios 8 16-05-2008 00:58:50
resultado en nodos (cxGrid) solo me aperese el primero del select, relacion columna = sakuragi OOP 1 29-07-2005 17:17:55
COlocar una Mascara en una columna de un dbgrid lionsoft Impresión 1 30-11-2004 14:57:30
COlocar una Mascara en una columna de un dbgrid RONPABLO Varios 2 27-11-2004 01:32:59
¿Como colocar una imagen dentro de otra? astur_racing Gráficos 3 12-08-2004 20:26:56


La franja horaria es GMT +2. Ahora son las 04:14:21.


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