Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Insertar Fila a una Consulta SQL

Estas en el tema de Insertar Fila a una Consulta SQL en el foro de SQL Server en Foros del Web. Hola a Todos tengo la siguiente duda se podra agregar a una consulta cualquiera q yo realize en una tabla una fila al final de ...
  #1 (permalink)  
Antiguo 03/04/2009, 16:25
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Mensaje Insertar Fila a una Consulta SQL

Hola a Todos tengo la siguiente duda se podra agregar a una consulta cualquiera q yo realize en una tabla una fila al final de dicha consulta

Ejm:

Select * From Pagos

me devolveria todos los Pagos q existe

code sueldo base porc
EM01 800 15 10%
EM02 1200 10 15%
EM03 450 20 12%
..... ..... ..... .....
..... ..... ..... .....
..... ..... ..... .....

yo quiero q por medio de codigo SQL pueda insertarle a esta consulta q he realizado una fila
ejm: la cual me quedaria asi

code sueldo base porc
EM01 800 15 10%
EM02 1200 10 15%
EM03 450 20 12%
..... ..... ..... .....
..... ..... ..... .....
..... ..... ..... .....
Totales 3500 105 25% --> fila q se agrego a la consulta

Ojo no quiere decir q esa fila lo he agregado ala tabla si no q me muestre la fila al final al realizar yo una consulta cualquiera
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #2 (permalink)  
Antiguo 03/04/2009, 16:47
Avatar de -rommel_  
Fecha de Ingreso: junio-2008
Ubicación: Lima
Mensajes: 360
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Insertar Fila a una Consulta SQL

A ver si esto te sirve.

Imaginate que tienes tu consulta de esta manera
Código:
Select 'Code'      = ta.Code
        ,  'Sueldo'   = ta.Sueldo
        ,  'Base'      = ta.Base
        ,  'Porc'       = ta.Porc
From Tabla ta
Ahora esta mas facil agregarle la ultima fila... Solo tienes que hacerle el Union All
Entonces tu consulta quedaría asi:

Código:
Select 'Code'      = ta.Code
        ,  'Sueldo'   = ta.Sueldo
        ,  'Base'      = ta.Base
        ,  'Porc'       = ta.Porc
From Tabla ta
Union All
Select 'Code'      = 'Totales:'
        ,  'Sueldo'   = sum(ta.Sueldo)
        ,  'Base'      = sum(ta.Base)
        ,  'Porc'       = (sum(ta.Base) / sum(ta.Sueldo))*100
From Tabla ta
Listo ahi lo tienes
  #3 (permalink)  
Antiguo 03/04/2009, 17:05
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Insertar Fila a una Consulta SQL

Tu Codigo esta bien y funciona el problema es q la consulta es demasiada grande y esta utilizando pivot para realizar los calculos

Ejm de mi tabla

Tabla Normal

codeemp horastrab fechaing horasest ,.......

y al realizar la consulta pivot me devuelve los datos de la siguiente maner

empleado lunes martes miercoles jueves viernes sabado domingo totalhoras horasest porc
...
... aqui va la data q me devule el pivot
...

como la consulta del pivot es amplia entonces como haria para sumar las columnas q me devuele una consulta pivot
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #4 (permalink)  
Antiguo 05/04/2009, 22:42
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 4 meses
Puntos: 180
Respuesta: Insertar Fila a una Consulta SQL

Y no te sirve la clausula COMPUTE???
  #5 (permalink)  
Antiguo 06/04/2009, 14:47
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Insertar Fila a una Consulta SQL

Gracias iislas por la Ayuda con Computer puede solucionar el problema
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:58.