Buen dia
Me gustaria que me ayudaran con esta consulta en sql server, tengo 2 tablas una llamada clientes que tiene nit, nombre,zona y la otra ventas que tiene numero,fecha,nit, valor total.
Necesito hacer una consulta que me traiga el nombre de la compañia, total de ventas, y ventas en enero febrero mes a mes etc
cliente total enero febrero marzo abril mayo |
Buenas.
Tienes que ser más específico y detallar más qué es lo que te está causando problemas en esta consulta. Postea código para poder ver cómo la has planteado y saber qué es lo que está haciendo que no recibas los resultados que esperas. Debes saber cómo funcionan las cláusulas GROUP BY, SUM(), en sql.
Saludos.
SELECT C.NOMBRES, ROUND(SUM(V.VALOR_TOTAL),0),
CASE Month(v.fecha) when '1' THEN v.valor_total end enero,
CASE Month(v.fecha) when '2' THEN v.valor_total end febrero,
CASE Month(v.fecha) when '3' THEN v.valor_total end marzo,
CASE Month(v.fecha) when '4' THEN v.valor_total end abril,
CASE Month(v.fecha) when '5' THEN v.valor_total end mayo,
CASE Month(v.fecha) when '6' THEN v.valor_total end junio
FROM CLIENTES C INNER JOIN VENTAS V ON C.NIT=V.NIT
GROUP BY C.NOMBRES,V.FECHA,V.valor_total
ORDER BY 1
Con esta onsulta si me da solo que me esta mostrando las compañias con cada uno de los valores registrados no un total
SELECT C.NOMBRES, ROUND(SUM(V.VALOR_TOTAL),0),
CASE Month(v.fecha) when '1' THEN v.valor_total end enero,
CASE Month(v.fecha) when '2' THEN v.valor_total end febrero,
CASE Month(v.fecha) when '3' THEN v.valor_total end marzo,
CASE Month(v.fecha) when '4' THEN v.valor_total end abril,
CASE Month(v.fecha) when '5' THEN v.valor_total end mayo,
CASE Month(v.fecha) when '6' THEN v.valor_total end junio
FROM CLIENTES C INNER JOIN VENTAS V ON C.NIT=V.NIT
GROUP BY C.NOMBRES,V.FECHA,V.valor_total
ORDER BY 1
Buenas.
Pero estás agrupando por fecha, sin formatear a mes.