Estimados,
Estoy tratando de hacer un reporte de ventas en la unidad de medida de volumen (m3) por almacén y por grupo de item solo de ciertos items (definidos por una Propiedad). Si corro los querys de Facturas y Notas de Credito por separado me funcionan bien pero al juntarlos con UNION ALL me da errores y mis conocimientos de SQL son básicos. Les agradeceria si alguien lo puede revisar y ver que esta mal.
SELECT S.Bodega, S.Linea, S.Proveedor, SUM (S.Volumen) FROM (SELECT T0.WhsCode AS 'Bodega', T2.ItmsGrpNam AS 'Linea', T3.FirmName AS 'Proveedor', SUM(T0.Quantity * T1.Svolume) AS 'Volumen' FROM INV1 T0 INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode INNER JOIN OITB T2 ON T1.ItmsGrpCod = T2.ItmsGrpCod INNER JOIN OMRC T3 ON T1.FirmCode = T3.FirmCode INNER JOIN OINV T4 ON T0.DocEntry = T4.DocEntry WHERE T4.DocDate BETWEEN [%0] AND [%1] AND T1.QryGroup3 = 'Y' UNION ALL T0.WhsCode AS 'Bodega', T2.ItmsGrpNam AS 'Linea', T3.FirmName AS 'Proveedor', SUM(-T0.Quantity * T1.Svolume) AS 'Volumen' FROM RIN1 T0 INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode INNER JOIN OITB T2 ON T1.ItmsGrpCod = T2.ItmsGrpCod INNER JOIN OMRC T3 ON T1.FirmCode = T3.FirmCode INNER JOIN ORIN T4 ON T0.DocEntry = T4.DocEntry WHERE T4.DocDate BETWEEN [%0] AND [%1] AND T1.QryGroup3 = 'Y') S GROUP BY S.Bodega, S.Linea, S.Proveedor
Gracias por su ayuda.
LV
Hola
!
Te recomiendo que veas un tutorial de SQL, en internet o Youtube existen decenas, es facil, rapido, gratis y te servira de por vida! 
Respecto a tu Query, de la forma correcta quedaria asi (Recuerda siempre tabular cualquier consulta o sentencia SQL para que sea mas facil de leer y entender)
SELECT
S.Bodega, S.Linea, S.Proveedor, SUM (S.Volumen)
FROM (SELECT
T0.WhsCode AS 'Bodega', T2.ItmsGrpNam AS 'Linea', T3.FirmName AS 'Proveedor', SUM(T0.Quantity * T1.Svolume) AS 'Volumen'
FROM
INV1 T0 INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode
INNER JOIN OITB T2 ON T1.ItmsGrpCod = T2.ItmsGrpCod
INNER JOIN OMRC T3 ON T1.FirmCode = T3.FirmCode
INNER JOIN OINV T4 ON T0.DocEntry = T4.DocEntry
WHERE
T4.DocDate BETWEEN [%0] AND [%1] AND T1.QryGroup3 = 'Y'
GROUP BY
T0.WhsCode , T2.ItmsGrpNam , T3.FirmName
UNION ALL
SELECT
T0.WhsCode AS 'Bodega', T2.ItmsGrpNam AS 'Linea', T3.FirmName AS 'Proveedor', SUM(-T0.Quantity * T1.Svolume) AS 'Volumen'
FROM
RIN1 T0 INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode
INNER JOIN OITB T2 ON T1.ItmsGrpCod = T2.ItmsGrpCod
INNER JOIN OMRC T3 ON T1.FirmCode = T3.FirmCode
INNER JOIN ORIN T4 ON T0.DocEntry = T4.DocEntry
WHERE
T4.DocDate BETWEEN [%0] AND [%1] AND T1.QryGroup3 = 'Y'
GROUP BY
T0.WhsCode , T2.ItmsGrpNam , T3.FirmName
) S
GROUP BY
S.Bodega, S.Linea, S.Proveedor
Saludos 
4 Me gusta
Funciona perfecto! Si he visto un par de tutoriales y estoy leyendo bastante al respecto pero creo que en estos casos solo la práctica hace al maestro. Gracias y Felices fiestas!
LV
2 Me gusta
Perfecto!
Recuerda marcar la respuesta como solucion para mantener el orden dentro del foro.
Saludos! 
1 me gusta