Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-08-2006
Avatar de Cabanyaler
Cabanyaler Cabanyaler is offline
Miembro
 
Registrado: jun 2003
Ubicación: País Valencià
Posts: 339
Poder: 21
Cabanyaler Va por buen camino
Red face ORDER BY con GROUP BY y funciones de agregado

Hola compañeros.
Estoy intentando implementar una consulta SQL un tanto sencilla, pero que no logro a pesar de ver la ayuda del Transac_SQL.

Expongo:Tengo dos tablas, una maestra con cabeceras y otra esclava con las líneas de detalle.
La tabla de cabeceras se puede entender en este caso como si fuesen facturas, y la de líneas de detalle como las líneas de factura, p.e.

Así pues, con la consulta que expongo a continuación obtengo todas las líneas de facturas agrupadas por el codigo de artículo.

Código SQL [-]
/* Retorna totes les unitats de les valoracions economiques de totes les certificacions agrupades per còdig d'unitat*/

CREATE PROCEDURE ADOSP_Unidades_Anuales

/* Parametres */
@NumCen_sp varchar(3), @FecIni_sp datetime, @FecFin_sp datetime

AS
SELECT DISTINCT
   CabVal_Gesa.CodAut_CabVal, CabVal_Gesa.NumCen_CabVal, CabVal_Gesa.FecCer_CabVal,
   LinVal_Gesa.Codigo_LinVal, LinVal_Gesa.CodUni_LinVal, LinVal_Gesa.NumUni_LinVal, LinVal_Gesa.DesUni_LinVal, LinVal_Gesa.MatEuros_LinVal, LinVal_Gesa.ManEuros_LinVal

FROM
   CabVal_Gesa 
   /* Unisc per C.Aj */
   LEFT OUTER JOIN LinVal_Gesa
   ON CabVal_Gesa.CodAut_CabVal = LinVal_Gesa.Codigo_LinVal

WHERE  
   ( 
            (CabVal_Gesa.NumCen_CabVal LIKE '%' + @NumCen_sp + '%' )
   AND (CabVal_Gesa.FecCer_CabVal >= @FecIni_sp  AND CabVal_Gesa.FecCer_CabVal <= @FecFin_sp)
   )


ORDER BY LinVal_Gesa.CodUni_LinVal
GO


Lo que me gustaría obtener es: en lugar de todas las líneas de todas las facturas agrupadas por el código de artículo de las mismas, desearía obtener todos los artículos que se han facturado en líneas de las facturas acumulando los totales de los mismos en una sóla linea por cada uno de los artículos.

Algo así (resumiendo en número de columnas respecto del código anexo original):
Código Delphi [-]
ARTICULO   TOTAL UNI.FACTURADAS AÑO          PRECIO                  TOTAL
--------------------------------------------------------------------------
A                     10                 5                           50
B                     20                10                          200
C                     100                20                          200

Si me podeis ayudar....., gracias.
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí.
Responder Con Cita
 



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
Agregado Calculado seb@ OOP 3 26-04-2016 01:55:04
consultas anidadas: group by dentro otro group by DobleSiete SQL 7 31-01-2005 14:59:31
Order by VRO SQL 6 31-08-2004 08:17:05
Agregado, Filtro, ClientDataSet, Problema en Count() andre Conexión con bases de datos 1 23-07-2004 14:47:07
Group Header, Detail y Footer Group en la misma pagina MarcelRuz Impresión 0 20-04-2004 23:27:14


La franja horaria es GMT +2. Ahora son las 07:49:28.


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