Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Select-SQL com algumas tabelas
Message
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
00813582
Message ID:
00813664
Views:
7
This message has been marked as a message which has helped to the initial question of the thread.
Eu acho que o problema esta na clausula Where, que esta sendo aplicada na tabela estoque. Para dar uma opnião melhor teria que conhecer a estrutura da tabela estoque.

Estude a possibilidade usar a Clausula UNION e/ou o HAVING na tua instrução SELECT SQL. Mas dependendo dos indices que vc tem nas tabelas talvez realmente seja melhor ter dois selects criando cursores temporarios e juntando tudo em um terceiro.



>Alow! Alow! Alow!
>
>Tenho uma instrução Select que me retorna uma lista de clientes ordenado por acumulo financeiro. Este cursor é chamado de Resultado1
>
>Resultado1 -> Codigo, Nome, Acumulado
>
>Até aqui está tudo funcionando... Mas agora me foi requisitado que este relatório, além de listar os maiores clientes (financeiro) deveria também listar os 3 produtos mais vendidos para cada cliente e o bicho pegou...
>
>Pensei em algo:
>
>Select Resultado1.*, Estoque.Item, Produtos.Descricao, Sum(Estoque.Peso) As Peso;
>   From Resultado1 Left Outer Join Estoque On Resultado1.Clodigo = Estoque.Cliente;
>                   Left Outer Join Produtos On Estoque.Item = Produtos.Codigo;
>   Where Between(Estoque.DataMov,{01/07/2003},{31/07/2003});
>   Into Cursor Resultado
>
>
>Tenho 2 problemas:
>
>1) Vamos imaginar que o cliente tenha um lançamento financeiro dentro deste período (logo irá constar no cursor Resultado1) e não possui nenhum item na tabela estoque (vamos imaginar que foi um serviço prestado - Neste caso, a linha simplesmente é excluída, pois o select filtrou o Resultado1 com o filtro que deveria agir sobre apenas os lançamentos em estoque. Ou seja, eu preciso de um cursor com TODAS as linhas do cursor RESULTADO1 e apenas as 3 primeiras linhas (totalizada por produto) do ESTOQUE.
>
>2) Como restringir apenas 3 linhas do ESTOQUE?
>
>Estou começando a achar que vou precisar de 2 cursores com uma relação e SET SKIP OF para conseguir o efeito desejado dentro de um relatório! ;-)
>
>Alguma dica?
>
>[]s!
Paulo Cesar Carneiro
desenvolvimento@controplan.com.br


"My God, what have we done?"
-- Capt. Robert Lewis, co-pilot of the Enola Gay, recalling the moment the atomic bomb exploded over Hiroshima

At 8:15 a.m. on August 6 1945
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform