GARANTIR DESCONTO

Fórum SQL left join com first e count #55976

17/05/2006

0

Amigos, estou com mais um problema preciso fazer uma consulta que me retorne os 10 filmes mais locados nos ultimos 15 dias

a tabela LOCACAODET GRAVA todos os detalhes das locações
A tabela Filmes grava os dados do filme

pra trazer os 10 ultimos filmes ta beleza isso aqui funciona

select first 10 idproduto, count(idproduto) qtdlocacoes 
from locacaodet where  FINALIDADE = ´LOCAÇÃO´ and datalocacao between (current_date - 15) and current_date group by idproduto order by 2 desc


so que isso me traz o codigo do filme e a quantidade locada gostaria que me retornasse tambem o nome do filme que esta na ´tabela filmes´ mas nao to conseguindo

tentei assim, mais nao da certo da um erro ´invalid colunm reference´

select first 10 locacaodet.idproduto, count(idproduto) qtdlocacoes, filmes.nome  
from locacaodet left join filmes on locacaodet.idproduto = filmes.id where  locacaodet.FINALIDADE = ´LOCAÇÃO´ and locacaodet.datalocacao between (current_date - 15) and current_date group by idproduto order by 2 desc


sera que alguem pode me ajudar

desde ja agradeço....

Obrigado....

Delphi 7.0 e Firebird 1.5


Marcusbraga

Marcusbraga

Responder

Posts

17/05/2006

Sremulador

select first 10 locacaodet.idproduto, count(idproduto) qtdlocacoes, filmes.nome from locacaodet 
left join filmes on locacaodet.idproduto = filmes.id 
where  locacaodet.FINALIDADE = ´LOCAÇÃO´ and locacaodet.datalocacao between (current_date - 15) and current_date 
group by idproduto, filmes.nome  order by 2 desc


agora


Responder

Gostei + 0

17/05/2006

Marcusbraga

Deu Certo


Nossa, obrigado sremulador deu certo não to acreditando ate agora, que eu tava me batendo desde o meio dia so por causa desse detalhe, agora que fui me liga.



fiz algumas alteraçõe pra ver se corrigia esse erro e nada mas funcionando perfeito se alguem interessa o meu codigo ficou assim agora

select first 10 loc1.idproduto, fil1.nome, 
(select count(loc2.idproduto) from locacaodet loc2 inner join  filmes fil2 on (loc2.idproduto = fil2.id) where loc2.idproduto = loc1.idproduto) quantidade from locacaodet loc1
left join filmes fil1 on (loc1.idproduto = fil1.id) where loc1.FINALIDADE = ´LOCAÇÃO´ and loc1.datalocacao between (current_date - 300) and current_date group by locacaodet.idproduto , filmes.nome order by 3 desc



Obriagado, sremulador


Responder

Gostei + 0

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

Aceitar