que tal companieros fijense que casi no e trabajo con SQLSERVER soy mas de MySQL y me tope con este problema....
tengo este query con left joins, el cual saca la suma de unas cantidades y uso los left joins con coalesce para que aunque no encuentre un registro de un elemento del catalogo lo muestre en pantalla con un 0. este es el query
SELECT a.id, a.nombre_contenido,
COALESCE(SUM(c.cantidadD),'0') as cantidadE,
COALESCE(SUM(c.gradosD),'0') as gradosE,
COALESCE(SUM(c.cantidadO),'0') as cantidadS,
COALESCE(SUM(c.gradosO),'0') as gradosS
FROM tbl_almacen a
LEFT JOIN tbl_movimiento b ON b.id_origen = a.id
LEFT JOIN tbl_vale c ON c.id_movimiento = b.id
GROUP BY a.id,a.nombre_contenido
y este es el resultado
1 PROVEEDORES DE UVA 2428.00 14.277 2550.00 25.700
2 OTROS JUGOS (DOMECQ ) 1250.00 92.160 1200.00 51.200
3 OTROS JUGOS (TERCEROS) 0.00 0.000 0.00 0.000
4 OTROS VINOS (DOMECQ) 0.00 0.000 0.00 0.000
5 OTROS VINOS (TERCEROS) 0.00 0.000 0.00 0.000
PERO CUANDO LE AGREGO UN WHERE Y ME TRUNCA LOS ELEMENTOS QUE TIENEN 0, LO CUAL PUES NO QUIERO QUE PASE, POR EJEMPLO CON ESTE QUERY
SELECT a.id, a.nombre_contenido,
COALESCE(SUM(c.cantidadD),'0') as cantidadE,
COALESCE(SUM(c.gradosD),'0') as gradosE,
COALESCE(SUM(c.cantidadO),'0') as cantidadS,
COALESCE(SUM(c.gradosO),'0') as gradosS
FROM tbl_almacen a
LEFT JOIN tbl_movimiento b ON b.id_origen = a.id
LEFT JOIN tbl_vale c ON c.id_movimiento = b.id
WHERE c.id_vendimia = 1
GROUP BY a.id,a.nombre_contenido
el resultado es este
1 PROVEEDORES DE UVA 2428.00 14.277 2550.00 25.700
2 OTROS JUGOS (DOMECQ) 1250.00 92.160 1200.00 51.200
les agradeceria mucho su ayuda, saludos