Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/03/2012, 01:22
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Agrupar campo con valores de otros campos en misma tabla

No se puede!!!
No puedes leer y escribir al mismo tiempo en la misma tabla.

Ni es necesario.
Siempre los puedes calcular, además siempre debes recalcularlos puesto que no sabes si ha entrado un valor nuevo que los cambie...

Y además guardar valores dependientes es un grave error de diseño.
Ya que se pueden producir situaciones de incoherencia de la bbdd


Tabla
numdoc
d_h
valor


Valores
Código pre:
Ver original
  1. numdoc          d_h        valor
  2. 1                 d          1000
  3. 1                 c           100
  4. 1                 c           900
  5. 2                 d           100
  6. 3                 d           500
  7. 3                 c           100
  8. 3                 c           200


Código MySQL:
Ver original
  1. SELECT numdoc,
  2.              SUM(if(`d_h`="d",valor,0)) as debitos,
  3.              SUM(if(`d_h`="c",valor,0)) as creditos,
  4.              SUM(if(`d_h`="d",valor,0)-if(`d_h`="c",valor,0)) as Saldo
  5. FROM tabla
  6. GROUP BY numdoc ;
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 28/03/2012 a las 01:49