Ainda 10 mais locados ...
já consegui fazer a sql, o problema é que ela pega todos os locados da tabela lisstando todos os locados, naum consegui fazer os 10 primeiros, veja aqui:
Selecionar os 10 mais vendidos
Select count(*), w7.cd_produto, f.ds_titulo1 from wcd0007 w7
Inner Join wcd0004 F on w7.cd_produto = F.cd_filme
where Tp_Tipo = ´F´
Group By w7.cd_produto,f.ds_titulo1
HAVING count(cd_cliente) <= 10
onde wcd0007 é a tabela de filmes locados e wcd0004 os filmes.
Selecionar os 10 mais vendidos
Select count(*), w7.cd_produto, f.ds_titulo1 from wcd0007 w7
Inner Join wcd0004 F on w7.cd_produto = F.cd_filme
where Tp_Tipo = ´F´
Group By w7.cd_produto,f.ds_titulo1
HAVING count(cd_cliente) <= 10
onde wcd0007 é a tabela de filmes locados e wcd0004 os filmes.
O4pr3ndiz
Curtidas 0
Respostas
Gandalf.nho
12/12/2004
Qual o seu banco de dados?
GOSTEI 0
Aroldo Zanela
12/12/2004
Colega,
A sua instrução está mostrando todos os resultados que possuem uma quantidade de registros menor ou igual a dez.
Você precisa é limitar os dez primeiros. Para isso, é necessário sabermos em qual banco você está trabalhando. (Rows, Limit, Top, first, etc).
Se for um banco de dados desktop (Paradox ou xBase), deverá fazer isto no código ou usar uma tabela temporária.
A sua instrução está mostrando todos os resultados que possuem uma quantidade de registros menor ou igual a dez.
Você precisa é limitar os dez primeiros. Para isso, é necessário sabermos em qual banco você está trabalhando. (Rows, Limit, Top, first, etc).
Se for um banco de dados desktop (Paradox ou xBase), deverá fazer isto no código ou usar uma tabela temporária.
GOSTEI 0
O4pr3ndiz
12/12/2004
paradox...
eu preciso para paradox......
eu preciso para paradox......
GOSTEI 0
Gandalf.nho
12/12/2004
Como paradox não tem suporte para isso, você terá que limitar os registros via código mesmo...
GOSTEI 0
O4pr3ndiz
12/12/2004
amigo, eu preciso que alguem em ajude no código, pois eu naun tenho nenhuma idéia como seja, dizer que eu tenho que fazer via código, naum vai me ajudar em nda....
GOSTEI 0
Gandalf.nho
12/12/2004
Uma maneira simples seria fazer um laço assim:
Coloque a SQL a ser ´contada´ num TQuery e faça o código semelhante ao embaixo.
for x := 1 to 10 then
begin
// Primeiro você irá copiar os valores dos campos desejados e armazenar em outro lugar. Uma sugestão seria uma tabela em memória como o TClientDataSet ou o que tem na paleta RX.
Query1.Next // Passe para o próximo registro
end
Ao sair do laço você terá os 10 mais.
Coloque a SQL a ser ´contada´ num TQuery e faça o código semelhante ao embaixo.
for x := 1 to 10 then
begin
// Primeiro você irá copiar os valores dos campos desejados e armazenar em outro lugar. Uma sugestão seria uma tabela em memória como o TClientDataSet ou o que tem na paleta RX.
Query1.Next // Passe para o próximo registro
end
Ao sair do laço você terá os 10 mais.
GOSTEI 0
O4pr3ndiz
12/12/2004
esta dica me iluminou a idéia... obrigado...
GOSTEI 0