2012-01-06 29 views
17

Básicamente, estoy tratando lo siguiente:SUM (subconsulta) en MySQL

SELECT m.col1, SUM(SELECT col5 FROM table WHERE col2 = m.col1) 
FROM table AS m 

Esto no parece funcionar. ¿Hay alguna solución?

Respuesta

23

¿Por qué no se hace esto:

SELECT m.col1, (SELECT SUM(col5) FROM table WHERE col2 = m.col1) 
FROM table AS m 
+0

Gracias, funciona para mí,, Buen trabajo. . –

4

sí - se une el uso

SELECT m.col1, SUM(j.col5) FROM table AS m 
     JOIN table AS j ON j.col2 = m.col1 GROUP BY m.col1 
2

Suma se utiliza dentro de la segunda selección, donde queremos sumar la columna. Col2 puede ser una columna ambigua, si tal columna existe en la tabla m.

SELECT 
    m.col1, 
    (SELECT SUM(t.col5) FROM table AS t WHERE t.col2 = m.col1) AS sumcol 
FROM table AS m