Es como dice
jhonny.
En una consulta de ese tipo, primero se seleccionan los registros aplicando cualquier criterio especifcado en la cláusula WHERE (en caso de haber alguno), luego se agrupan los registros según indique la cláusula GROUP BY, y finalmente se aplica la función agregada a cada grupo, como SUM en este caso.
Esto quiere decir que no puede aplicarse WHERE a una función agregada, pues para el tiempo en que se hace el filtro, aún no se agrupa ni se aplica la función. Para ello existe la
cláusula HAVING. Para
filtrar después de la agrupación.
Tu consulta quedaría más o menos así:
Código SQL
[-]
Select Distint
id_vendor,
nombrevendor,
Sum(Total_periodo),
from vendor
group by id_vendor, nombrevendor
having sum(Total_periodo) > 0
// Saludos