Ver Mensaje Individual
  #4 (permalink)  
Antiguo 17/10/2014, 01:54
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Suma de select

Cita:
no me sale lo ultimo que enviaste, tendre algo malo en mi codigo??
MySql retorna explicaciones de los errores... muestralos.

No voy a construir una base de datos para poder analizar tu query.

La parte central lo que lleva el alias "datos" muestra los datos que esperas que muestre?


Código MySQL:
Ver original
  1. SELECT       datos.RUT,
  2.              SUM(datos.AMOUNT) total
  3. SELECT datos.* FROM (
  4.                                 (SELECT    EMP.rut as RUT,
  5.                                            UPPER(CONCAT(EMP.name,' ',EMP.surname)) as NOMBRE,
  6.                                            DT.name as TIPO,
  7.                                            TTR.docId as ID,                                          
  8.                                            IFNULL(SUM(-(TTR.netAmount)),0) as AMOUNT,                                          
  9.                                            '' as TOTAL,
  10.                                            DATE_FORMAT(TEX.createdDate,'%d/%m/%Y') as FECHA_CREACION,
  11.                                            ' ' as FECHA_PAGO,
  12.                                            TEX.description as DESCRIPCION
  13.                                  FROM      TBL_EXPENSESREPORT TEX
  14.                                            LEFT JOIN TBL_TRANSACTS TTR ON (TEX.id = TTR.docId AND TTR.deleted <> 1 AND TTR.docType = 7),
  15.                                            TBL_DOCS_STATUS        TDS,
  16.                                            TBL_DOCS_TYPES DT,
  17.                                            TBL_EMPLOYERS          EMP
  18.                                  WHERE     TEX.deleted <> 1
  19.                                  AND       DT.id = TTR.docType
  20.                                  AND       TEX.docStatus = TDS.id
  21.                                  AND       TEX.docStatus IN (3,5)
  22.                                  AND       TEX.created = EMP.uid      AND       TEX.createdDate BETWEEN '2014-09-01' AND '2014-09-30'      GROUP BY  EMP.rut)
  23.                                  UNION ALL(
  24.                                  SELECT    PF.employerId as RUT,
  25.                                            UPPER(CONCAT(EMP.name,' ',EMP.surname)) as NOMBRE,
  26.                                            DT.name as TIPO,
  27.                                            TTR.docId as ID,                                          
  28.                                            IFNULL(SUM(TTR.netAmount),0) as AMOUNT,                                          
  29.                                            '' as TOTAL,
  30.                                            DATE_FORMAT(PF.date,'%d/%m/%Y') as FECHA_CREACION,
  31.                                            DATE_FORMAT(PF.paymentDate,'%d/%m/%Y') as FECHA_PAGO,                              
  32.                                            PF.name as DESCRIPCION
  33.                                  FROM      TBL_PAYFUNDS PF
  34.                                            LEFT JOIN TBL_TRANSACTS TTR ON (PF.id = TTR.docId AND TTR.deleted <> 1 AND TTR.docType = 9),
  35.                                            TBL_PAYFUNDSTATUS PFS,
  36.                                            TBL_DOCS_TYPES DT,
  37.                                            TBL_EMPLOYERS     EMP
  38.                                  WHERE     PF.deleted <> 1
  39.                                  AND       DT.id = TTR.docType
  40.                                  AND       PF.status = PFS.id
  41.                                  AND       PF.status = 4
  42.                                  AND       PF.employerId = EMP.rut      AND      PF.date BETWEEN '2014-09-01' AND '2014-09-30'       GROUP BY  PF.employerId)
  43.                            )) as datos
  44.                       GROUP BY datos.RUT;
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.