Ver Mensaje Individual
  #3  
Antiguo 16-05-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Hola mjjj,

Creo que debes replantearte lo que quieres hacer porque el problema no radica en la forma en que listes los campos. Una función como sum() se aplica sobre grupos de registros por lo que su valor no puede estar aparejado con cada uno de los registros del grupo.

Digamos que, en este caso, el grupo son todos los registros. Una consulta como

Código SQL [-]
select sum(monto) from tabla

regresa un sólo registro, mientras que una consulta

Código SQL [-]
select * from tabla

regresa múltiples registros.

Luego entonces, no son compatibles. ¿Qué tendría que aparecer al lado de cada registro? ¿La suma total? No puede ser, pues el motor debe recorrer todos los registros para hacer tal cálculo.

Vamos, que lo que tú planteas es,

Código:
tabla

+---------+-------+
| cliente | monto |
+---------+-------+
| juan    |  100  |
+---------+-------+
| luisa   |   75  |
+---------+-------+
| laura   |  250  |
+---------+-------+
| pepe    |   30  |
+---------+-------+
Código:
Resultado

+---------+-------+-------+
| cliente | monto | total |
+---------+-------+-------+
| juan    |  100  |  455  |
+---------+-------+-------+
| luisa   |   75  |  455  |
+---------+-------+-------+
| laura   |   250 |  455  |
+---------+-------+-------+
| pepe    |    30 |  455  |
+---------+-------+-------+
Se ve raro ¿no?

// Saludos

Última edición por roman fecha: 16-05-2008 a las 19:03:15.
Responder Con Cita