10 filmes mais locados por cliente

21/07/2015

0

tenho uma tabela de locação e outra para seus itens, ou seja filmes.
gostaria de gerar um relatório que traga os 10 filmes mais locados por cliente

estou executando este select

select first 10
il.cod_produto, p.nome as produto, cl.nome as cliente, count(il.cod_produto) as nLocacao from itens_locacao il
inner join locacao l on l.cod_locacao = il.cod_locacao
inner join cliente cl on cl.cod_cliente  = l.cod_cliente
inner join produto p on p.cod_produto = il.cod_produto
group by il.cod_produto, p.nome, cl.nome
order by  4 desc


mas só traz os dez primeiros filmes mais locados da tabela de itens da locação, sem trazer os 10 filmes mais locados para cada cliente
o que fazer para resolver este sql?
Cristiane

Cristiane

Responder

Posts

21/07/2015

Fernando C

supondo que na tabela "locacoes" vc tenha os ids dos clientes e os ids dos filmes...
select count(*) from locacoes group by id_cliente having count(*) > 9
Responder

28/07/2015

Cristiane

não, na verdade esta em tabelas diferentes. o id do cliente está na tabela locação e o id do filme na tabela itens locação.
vou procurar me expressar melhor:

estou fazendo um relatório q, informando ou não o cliente desejado, traga os 10 filmes locados.
quando o cliente é informado, usando o first 10 ou count dá certo, pq fica assim no relatório:

Cliente - Cris
cod. filme descrição nº de locação
1 ela é o cara 4
2 fascinação 3
... -> mais 8 filmes

quando o cliente não é informado trago todos os clientes e os 10 filmes mais locados, ficando assim:

Cliente - Cris
cod. filme descrição nº de locação
1 ela é o cara 4
2 fascinação 3
... -> mais 8 filmes
Cliente - Antônio
cod. filme descrição nº de locação
1 ela é o cara 4
2 fascinação 3
... -> mais 8 filmes
Cliente - Flávia
cod. filme descrição nº de locação
1 ela é o cara 4
2 fascinação 3
... -> mais 8 filmes

e assim por diante
parece q com um select no inner ou left join pode dar certo, mas não consegui nada ainda.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar