Sesion 10
Sesion 10
Sesion 10
Mostrar el nombre de los clientes de la comunidad valenciana que hayan hecho más de
10 facturas y hayan facturado más de 1000 euros (sin tener en cuenta los descuentos ni el
IVA). Junto con el nombre mostrar el número de facturas y la provincia a la que pertenecen
2. Escribir una sentencia en SQL que para cada cliente muestre el ano que hizo una mayor
facturacion (sin tener en cuenta los descuentos ni el IVA).
GROUP BY f.codcli,c.nombre,f.fecha
3. Escribir una sentencia en SQL que obtenga el nombre de los clientes para los cuales han
pasado mas de 2 meses (60 dıas) entre la primera y la ultima factura del año pasado.
SELECT c.codcli,c.nombre
FROM clientes AS c JOIN facturas AS f USING(codcli)
WHERE EXTRACT(year FROM f.fecha)=EXTRACT(year FROM current_date)-1
GROUP BY c.codcli,c.nombre
HAVING (MAX(f.fecha)-MIN(f.fecha))>=60;
4. Escribir una sentencia en SQL tal que obtenga el nombre del cliente al que se le ha
realizado una menor facturacion durante el año pasado, sin tener en cuenta los descuentos
e impuestos y considerando solo aquellos clientes que han comprado algo.
SELECT c.codcli,c.nombre
FROM lineas_fac AS l JOIN facturas AS f USING(codfac)
JOIN clientes AS c USING(codcli)
GROUP BY c.codcli,c.nombre
HAVING SUM(l.cant*l.precio)=(SELECT MIN(p) FROM (SELECT codfac, SUM(cant*precio)
AS p FROM lineas_fac GROUP BY codfac) AS t )
5. Escribir una sentencia en SQL que obtenga el nombre de aquellos clientes que siempre
compran cantidades de artıculos multiplos de 2.
7. Escribir una sentencia en SQL que muestre los vendedores que han hecho 5 o mas
facturas a un mismo cliente.
SELECT v.codven,v.nombre
FROM vendedores AS v
WHERE 5<(SELECT COUNT(codfac) FROM facturas AS f WHERE f.codven= v.codven
GROUP BY codcli)
8. Escribir una sentencia en SQL que devuelva el numero de provincias en las que hay
clientes que han hecho mas de 10 facturas
SELECT SUM(l.cant)
FROM lineas_fac AS l JOIN facturas AS f USING(codfac)
WHERE EXTRACT(year FROM f.fecha) = '2016'
EXCEPT
SELECT SUM(l.cant)
FROM lineas_fac AS l JOIN facturas AS f USING(codfac)
WHERE EXTRACT(year FROM f.fecha) != '2016'
10. Escribir una sentencia en SQL que obtenga los pueblos de Valencia en los que hay
menos de dos vendedores (aquellos pueblos en los que no hay vendedores tambien se
deben mostrar).
SELECT codpue,codpro
FROM pueblos
WHERE p.codpro=’46’ AND (SELECT COUNT(v.codven)
FROM vendedores AS v RIGHT OUTER JOIN pueblos AS p USING(codpue)
WHERE v.codpue=p.codpue
GROUP BY p.codpue)<2
11. Escribir una sentencia en SQL que, para cada provincia, muestre el numero de clientes
de pueblos de esa provincia que han comprado mas de 5 articulos distintos
12. Escribir una sentencia en SQL que obtenga los vendedores que no han vendido nunca
articulos cuya descripción empiezan por ’al’ (recuerda que la descripción puede estar en
cualquier formato).