pu

Buscar este blog

jueves, 23 de julio de 2015

TAREA SQL - SAKILA :P

1.-¿cúal es la cantidad de dinero que se recaudo en arriendo de películas el mes de junio y julio del año 2005 para la tienda 2?

r:

 select s.store_id,SUM(p.amount) from payment as p inner join staff as s on (s.staff_id= p.staff_id) where s.store_id = 2 and DATEPART(YEAR,p.payment_date) = 2005 and DATEPART(MONTH,p.payment_date) in (6,7) group by s.store_id --ahi esta listo el 1



2.- ¿Cúal es la cantidad de unidades de películas de categoría children que fueron arrendadas en la tienda 2 para el mes de julio y agosto del año 2005?

r:
 select count(*) as cantidad_arriendos from rental where DATEPART(YEAR,rental_date) = 2005 and DATEPART(MONTH,rental_date) in (7,8) and inventory_id in(select inventory_id from inventory where film_id in (select film_id from film_category where category_id = 3))


 3.- ¿cúal es la cantidad de unidades de peliculas de categoria "children" que fueron arrendadas el mes de mayo del año 2005?, en la cual participo el actor "helen voight"?

r:

 select count(*) as cantidad_arriendos_que_participo_helen_voight from rental where DATEPART(YEAR,rental_date) = 2005 and DATEPART(MONTH,rental_date) in (5) and --mayo 2005 inventory_id in(select inventory_id from inventory where film_id in (select film_id from film_category where category_id = 3) And film_id in (select film_id from film_actor as fa inner join actor as a on (fa.actor_id = a.actor_id) where a.actor_id = 17) )


 4.- cual es la cantidad de unidades de peliculas que fueron arendadas por tienda para el mes de febrero del año 2005?

r:

select * from rental where DATEPART(YEAR,rental_date) = 2005 and DATEPART(MONTH,rental_date) in (2) --esta es la 4 esta lista


 select st.store_id,count(*) as cantidad_arriendos_por_tienda from rental as r inner join staff as s on (s.staff_id = r.staff_id) inner join store as st on (st.store_id = s.store_id) where DATEPART(YEAR,r.rental_date) = 2005 and DATEPART(MONTH,r.rental_date) in (2) GROUP by st.store_id



 5.- ¿Cúal fue el cliente que más arrendo películas el mes de mayo del 2005?

r:

 select top 1 c.first_name,c.last_name,count(r.rental_id) as cantidad_de_arriendo_mes_mayo2005 from customer as c inner join rental as r on (c.customer_id = r.customer_id) where DATEPART(YEAR,r.rental_date) = 2005 and DATEPART(MONTH,r.rental_date) in (5) group by c.first_name,c.last_name order by count(r.rental_id) desc


Cúal es la primera película arrendada?, donde participo el actor identificado como nº65

 select * from actor where actor_id = 65 'ANGELA HUDSON'

select * from film
select * from film
select MIN(rental_date) from rental
select * from inventory

 --ahora tenemos que saber cual es la primera peli arrendada, eso lo sacamos con la tabla de rental y un min ? si


SELECT top 1 dbo.film.film_id AS FID,dbo.film.title,MIN(dbo.rental.rental_date) as primera_fecha_arriendo FROM dbo.category LEFT OUTER JOIN dbo.film_category ON dbo.category.category_id = dbo.film_category.category_id LEFT OUTER JOIN dbo.film ON dbo.film_category.film_id = dbo.film.film_id INNER JOIN dbo.film_actor ON dbo.film.film_id = dbo.film_actor.film_id INNER JOIN dbo.actor ON dbo.film_actor.actor_id = dbo.actor.actor_id inner join dbo.inventory on dbo.inventory.film_id = dbo.film.film_id inner join dbo.rental on dbo.rental.inventory_id = dbo.inventory.inventory_id where actor.actor_id = 65 group by dbo.film.film_id ,dbo.film.title order by MIN(dbo.rental.rental_date) asc


7.- ¿Cúal es la cantidad de unidades de películas que fueron arrendadas con valores mayores a 11usd durante el mes de julio para la tienda 2?

r:

SELECT s.store_id as tienda, count(p.rental_id) AS Conteo_arriendos FROM dbo.payment AS p INNER JOIN dbo.rental AS r ON p.rental_id = r.rental_id INNER JOIN dbo.inventory AS i ON r.inventory_id = i.inventory_id INNER JOIN dbo.store AS s ON i.store_id = s.store_id INNER JOIN dbo.address AS a ON s.address_id = a.address_id INNER JOIN dbo.city AS c ON a.city_id = c.city_id INNER JOIN dbo.country AS cy ON c.country_id = cy.country_id INNER JOIN dbo.staff AS m ON s.manager_staff_id = m.staff_id where DATEPART(month,r.rental_date)=7 and p.amount > 10 and s.store_id = 2 GROUP BY s.store_id

No hay comentarios:

Publicar un comentario