Hola amigos me gustaría que me ayudaran con el siguiente query, necesito conocer la cantidad de clientes y el peso total de las ordenes de venta por estado, sin embargo, como cada producto de cada pedido tiene un peso distinto, la función count me contabiliza cada uno de los pesos que tiene cada producto, de cada pedido, de cada cliente y no el número de cliente, ¿cómo puedo hacer en este caso?
Por ejemplo
N° CLIENTES ESTADO PESO_KG PESO_TON
69 Barinas 2.123,52 2,12
Barinas tiene solo 21 clientes pero 69 pesos distintos con los que hace la sumatoria total
SELECT DISTINCT COUNT(T0.[CardName]) AS ‘N° CLIENTES’, CASE WHEN T5.[State] = 01 THEN ‘Amazonas’ WHEN T5.[State] = 02 THEN ‘Anzoategui’ WHEN T5.[State] = 03 THEN ‘Apure’ WHEN T5.[State] = 04 THEN ‘Aragua’ ELSE ‘N/A’ END ESTADO, sum (CASE WHEN T1.[UseBaseUn] = ‘Y’ THEN T1.[OpenQty]*T6.[IWeight1] WHEN T1.[UseBaseUn] = ‘N’ THEN T1.[OpenQty]*T6.[SWeight1] ELSE ‘N/A’ END) AS PESO_KG, (sum (CASE WHEN T1.[UseBaseUn] = ‘Y’ THEN T1.[OpenQty]*T6.[IWeight1] WHEN T1.[UseBaseUn] = ‘N’ THEN T1.[OpenQty]*T6.[SWeight1] ELSE ‘N/A’ END) /1000 as PESO_TON FROM ORDR T0 INNER JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry LEFT JOIN OINV T2 ON T1.TrgetEntry = T2.DocEntry left JOIN INV1 T3 ON T2.[DocEntry] = T3.[DocEntry] INNER JOIN OCRD T4 ON T0.[CardCode] = T4.[CardCode] INNER JOIN CRD1 T5 ON T4.[CardCode] = T5.[CardCode] INNER JOIN OITM T6 ON T1.[ItemCode] = T6.[ItemCode] WHERE T0.[DocStatus] = ‘O’ and T1.LineStatus = ‘O’ GROUP BY T5.State