La ides es mostrar a la persona que ha arrendado mas peliculas y las peliculas que ha arrendado.
Con este query obtengo a la persona que ha arrendado mas peliculas:
Código:
de este query obtengo el nombre y la cantidad de veces que ha arrendado peliculas (46 veces).SELECT customer_id, first_name, last_name, antal FROM customer INNER JOIN (SELECT COUNT(customer_id) AS antal, customer_id AS temp FROM rental GROUP BY customer_id ) AS temp_table WHERE customer_id = temp_table.temp ORDER BY antal DESC LIMIT 1;
Con este otro query obtengo los nombres de las peliculas que la persona ha arrendado:
Código:
Si se fijan en este query he comparado el customer_id con 585, es en esta parte donde deberia colocar el primer query. SELECT DISTINCT title FROM film WHERE film_id IN ( SELECT film_id FROM inventory WHERE inventory_id IN ( SELECT inventory_id from rental WHERE customer_id = '585' ) );
Asi me quedan los dos queries juntos:
Código:
Al ejecutar este query recibo este error: SELECT title FROM film WHERE film_id IN (SELECT film_id FROM inventory WHERE inventory_id IN (SELECT inventory_id FROM rental WHERE customer_id IN (SELECT customer_id FROM customer INNER JOIN (SELECT COUNT(customer_id) AS antal, customer_id AS temp FROM rental GROUP BY customer_id) AS temp_table WHERE customer_id = temp_table.temp ORDER BY antal DESC LIMIT 1) ) );
Código:
Si elimino el LIMIT 1 el query me da como resultado la lista con los nombres de las peliculas que hay en la bd. Error Code : 1235 This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' (0 ms taken)
Como lo hago entonces para poder recivir solo el nombre de la persona que ha arrendado mas y las peliculas que ha arrendado?
Como siempre si necesitan mas info, con gusto la colocare.
Gracias
Cómo hacer preguntas de manera inteligente