11/03/2011, 08:09
|
| | Fecha de Ingreso: enero-2011
Mensajes: 35
Antigüedad: 14 años Puntos: 0 | |
Respuesta: query para una suma Cita:
Iniciado por gnzsoloyo Tal vez por aquí:
Código MySQL:
Ver original a.Zona, a.numero, a.nombre, a.variedad, a.tmestimadas tmrecepcionadas, b.potrero, b.hassembradas superficie, b.v1_rendimiento rdtoesperado, (b.v1_rendimiento * b.hassembradas) tmestimadas, c.nrocontrato, c.rut ag_Contrato a INNER JOIN Ag_Visitaterreno v ON a.numero = v.nrocontrato AND a.periodo = v.periodo (SELECT nrocontrato , rut , Sum(cantidad ) Total GROUP BY nrocontrato , rut ) c ON a.periodo = c.periodo AND a.nroprecontrato = b.numero a.periodo = $temporada
No uso la coma sino INNER JOIN porque el WHERE es una mala forma de relacionar tablas, no es optimizable, mientas que el FROM si, pero para ello tienes que escribirlos con más cuidado.
Tampoco pongo los AS porque son obsoletos, están eliminados del estándar hace años, y sólo sirven si usas DBMS muy viejos (3.x o anterior).
El error más grave que veía es que intentabas obtener en un SELECT algo que devuelve más de un campo, y una subconsulta allí debe devolver una única columna, además de que estabas haciendolo sobre una tabla que ya estás invocando en el FROM. Eso no tiene mucho sentido. Vale compadre, se nota que te manejas bastante en estos temas, espero algun dia ser asi de bueno... Saludos y espero que ahora funcione. |