0% encontró este documento útil (0 votos)
61 vistas2 páginas

Consultas SQL

El documento contiene 5 consultas SQL para extraer datos de ventas de diferentes formas: 1) productos no vendidos en el 4to trimestre de 1997, 2) clientes que compraron todos los meses de 1997, 3) número de productos vendidos por semestre, 4) ventas de clientes cada 4 meses de 1997, 5) número de pedidos con importe mayor a $2000 por país.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
61 vistas2 páginas

Consultas SQL

El documento contiene 5 consultas SQL para extraer datos de ventas de diferentes formas: 1) productos no vendidos en el 4to trimestre de 1997, 2) clientes que compraron todos los meses de 1997, 3) número de productos vendidos por semestre, 4) ventas de clientes cada 4 meses de 1997, 5) número de pedidos con importe mayor a $2000 por país.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

--1.

PRODUCTO NO VENDIDOS EL TRIMESTRE 4 DEL 97


-- PERO SI LOS TRIMESTRES 3 Y 2
SELECT NOMBREproducto,YEAR(FECHAPEDIDO)AO ,TRIM4=SUM(CASE WHEN
(CANTIDAD*D.PRECIOUNIDAD)=0 AND DATEPART(Q,FECHAPEDIDO)=4 THEN 1 ELSE
0 END),
TRIM2=SUM( CASE WHEN (CANTIDAD*D.PRECIOUNIDAD)>0 AND
DATEPART(Q,FECHAPEDIDO)=2 THEN 1 ELSE 0 END),
TRIM3=SUM( CASE WHEN (CANTIDAD*D.PRECIOUNIDAD)>0 AND
DATEPART(Q,FECHAPEDIDO)=3 THEN 1 ELSE 0 END)
FROM [Detalles de pedidos] D INNER JOIN Pedidos P
ON P.IdPedido=D.IdPedido INNER JOIN Productos T
ON T.IdProducto=D.IdProducto
WHERE YEAR(FECHAPEDIDO)=1997
GROUP BY NombreProducto,YEAR(FECHAPEDIDO)

2 --CLIENTES QUE COMPRARON TODOS LOS


-- MESES DEL AO
SELECT NombreCompaa,YEAR(FECHAPEDIDO)AO,
ENERO=COUNT( CASE WHEN DATENAME(M,FECHAPEDIDO)=1 THEN 1 ELSE 0
END),
FEBRERO=COUNT( CASE WHEN DATENAME(M,FECHAPEDIDO)=2 THEN 1 ELSE 0
END),
MARZO=COUNT( CASE WHEN DATENAME(M,FECHAPEDIDO)=3 THEN 1 ELSE 0
END),
ABRIL=COUNT( CASE WHEN DATENAME(M,FECHAPEDIDO)=4 THEN 1 ELSE 0
END),
MAYO=COUNT( CASE WHEN DATENAME(M,FECHAPEDIDO)=5 THEN 1 ELSE 0
END),
JUNIO=COUNT( CASE WHEN DATENAME(M,FECHAPEDIDO)=6 THEN 1 ELSE 0
END),
JULIO=COUNT( CASE WHEN DATENAME(M,FECHAPEDIDO)=7 THEN 1 ELSE 0
END),
AGOSTO=COUNT( CASE WHEN DATENAME(M,FECHAPEDIDO)=8 THEN 1 ELSE 0
END),
SEPTIEMBRE=COUNT( CASE WHEN DATENAME(M,FECHAPEDIDO)=9 THEN 1 ELSE 0
END),
OCTUBRE=COUNT( CASE WHEN DATENAME(M,FECHAPEDIDO)=10 THEN 1 ELSE 0
END),
NOVIEMBRE=COUNT( CASE WHEN DATENAME(M,FECHAPEDIDO)=11 THEN 1 ELSE 0
END),
DICIEMBRE=COUNT( CASE WHEN DATENAME(M,FECHAPEDIDO)=12 THEN 1 ELSE 0
END)
FROM [Detalles de pedidos]D, Clientes C, Pedidos P
WHERE YEAR(FECHAPEDIDO)=1997
GROUP BY NombreCompaa,YEAR(FECHAPEDIDO)
HAVING SUM(CANTIDAD*D.PRECIOUNIDAD)>0

--3 ) NRO DE PRODUCTOS VENDIDOS POR SEMESTRE


SELECT NOMBREPRODUCTO,SEMESTRE1=COUNT( CASE WHEN
DATENAME(M,FECHAPEDIDO)=1 AND DATENAME(M,FECHAPEDIDO)=2 AND
DATENAME(M,FECHAPEDIDO)=3 AND DATENAME(M,FECHAPEDIDO)=4 AND
DATENAME(M,FECHAPEDIDO)=5 AND DATENAME(M,FECHAPEDIDO)=6
THEN 1 ELSE 0 END),
SEMESTRE2=COUNT( CASE WHEN DATENAME(M,FECHAPEDIDO)=7 AND
DATENAME(M,FECHAPEDIDO)=8 AND
DATENAME(M,FECHAPEDIDO)=9 AND DATENAME(M,FECHAPEDIDO)=10 AND
DATENAME(M,FECHAPEDIDO)=11 AND DATENAME(M,FECHAPEDIDO)=12
THEN 1 ELSE 0 END)
FROM [Detalles de pedidos]D ,Productos P, Pedidos T
WHERE P.IdProducto=D.IdProducto AND T.IdPedido=D.IdPedido AND
(Cantidad*D.PrecioUnidad)>0
GROUP BY NombreProducto

--4. VENTAS POR CLIENTE CADA 4 MESES DE 97


SELECT NombreCompaa,YEAR(FechaPedido)AO,
PRIM4MESES=COUNT( CASE WHEN DATENAME(M,FECHAPEDIDO)=1 AND
DATENAME(M,FECHAPEDIDO)=2 AND
DATENAME(M,FECHAPEDIDO)=3 AND DATENAME(M,FECHAPEDIDO)=4 THEN 1 ELSE 0
END),
SEG4MESES=COUNT( CASE WHEN DATENAME(M,FECHAPEDIDO)=5 AND
DATENAME(M,FECHAPEDIDO)=6 AND
DATENAME(M,FECHAPEDIDO)=7 AND DATENAME(M,FECHAPEDIDO)=8 THEN 1 ELSE 0
END),
TER4MESES=COUNT( CASE WHEN DATENAME(M,FECHAPEDIDO)=9 AND
DATENAME(M,FECHAPEDIDO)=10 AND
DATENAME(M,FECHAPEDIDO)=11 AND DATENAME(M,FECHAPEDIDO)=12 THEN 1 ELSE
0 END)
FROM PEDIDOS P, CLIENTES C, [Detalles de pedidos] D
WHERE C.IdCliente=P.IdCliente AND YEAR(FECHAPEDIDO)=1997
GROUP BY NombreCompaa,YEAR(FechaPedido)
HAVING SUM(CANTIDAD*D.PRECIOUNIDAD)>=0

--5. NRO DE PEDIDOS CON IMPORTE > A 2000 POR


-- PAISES
SELECT Pas,
COUNT(CANTIDAD)NPEDIDOS,SUM(CANTIDAD*D.PRECIOUNIDAD)IMPORTE
FROM Clientes C,Pedidos p,[Detalles de pedidos]D
WHERE p.IdCliente=C.IdCliente AND D.IdPedido=p.IdPedido
GROUP BY Pas
HAVING SUM(CANTIDAD*D.PRECIOUNIDAD)>2000

También podría gustarte