Pregunta

Tengo un campo que necesito sumar, digamos elementos con nombre Sin embargo, ese campo puede formar parte del grupo a o b Al final, necesito tener todos los elementos sumados para el grupo a y el grupo b

cuando digo agrupado quiero decir que hay una UNIÓN EXTERNA IZQUIERDA a otra tabla, la tabla anterior tiene un tipo para los elementos y la que se está uniendo tiene un grupo asignado para este tipo de elemento.

Lo siento chicos, soy un poco nuevo en SQL. Voy a probar lo que me habéis dado.

Ok, siento que nos estamos acercando, pero todavía no puedo separarlos, pero el problema es que necesito tener ambos grupos para sumar en la misma fila, lo cual es difícil porque también tengo varios LEFT OUTER JOIN involucrados.

Parece que Tyler también podría funcionar, así que estoy tratando de resolverlo muy rápido.

El de Alain parece ser el camino a seguir, pero tengo que modificarlo un poco más.

¿Fue útil?

Solución

Quizás no entiendo la complejidad de lo que preguntas pero...¿No debería funcionar esto?

SELECT groupname, SUM(value)
FROM items
WHERE groupname IN ('a', 'b')
GROUP BY groupname

Y si no le importa a cuál de a o b pertenece el elemento, esto servirá:

SELECT SUM(value)
FROM items
WHERE groupname IN ('a', 'b')

Otros consejos

quieres algo como

SELECT column,SUM( column ) FROM table GROUP BY column

¿Es eso (la respuesta de Tyler) lo que significaba la pregunta, o es simplemente esto?

SELECT sum(item), groupingField FROM someTable GROUP BY groupingField

o incluso:

SELECT count(*), item FROM someTable GROUP BY item

que producirá resultados como este:

sum(item)    |     groupingField
-------------+-----------------------
 71          |          A
 82          |          B

Interlocutor, ¿tal vez podría aclarar a qué se refiere o si estoy simplificando demasiado?

Prueba esto:

SELECT B.[Group], COUNT(*) AS GroupCount
FROM Table1 A
LEFT JOIN Table2 B ON B.ItemType=A.ItemType
GROUP BY B.[Group]
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top