Fórum problema com sql #324357

28/06/2006

0

tenho uma tabela de nota com os seguintes campos
[b:fe915f972a]Numero[/b:fe915f972a] - Numero da Nota Fiscal
[b:fe915f972a]Cliente[/b:fe915f972a] - Codigo do Cliente
[b:fe915f972a]Prazo[/b:fe915f972a] - Codigo do Prazo
[b:fe915f972a]Data_Emissao[/b:fe915f972a] - Data de Emissão da Nota
[b:fe915f972a]Valor[/b:fe915f972a] - Valor da Nota

e outros campos

preciso listar todas as nota de um determinado periodo

Select * from nota where between :Data_Ini and :Data_Fim

ate ai tudo certo, agora que vem o problema

Exemplo
Numero | Cliente | Prazo | Data Emissao | Valor
----------------------------------------------------------------------------------
100 1 14 Dias 01/06/2006 50,00
200 1 14 Dias 01/06/2006 20,00
300 1 14 Dias 02/06/2006 3,00
Total [b:fe915f972a]73,00[/b:fe915f972a]

400 1 20 Dias 01/06/2006 50,00
500 1 20 Dias 01/06/2006 20,00
600 1 20 Dias 02/06/2006 40,00
Total [b:fe915f972a]110,00[/b:fe915f972a]


Esse total é agrupado por [b:fe915f972a]Prazo e Cliente[/b:fe915f972a] ao mesmo tempo

Agora que esta o problema , preciso listar todas as notas onde o Total (Agrupado por Cliente e Prazo) nao seja inferior a 80,00 ou outro valor que vou passar como parametro, nesse caso a primeira de 14 dias nao iria entrar porque o total é [b:fe915f972a]73,00[/b:fe915f972a], so entraria a segunda de
[b:fe915f972a]110,00[/b:fe915f972a]. So que precisaria listar todos os campos da nota.

Acho que teria que fazer uma sub-select so que nao estou conseguindo fazer.

Se alguem tiver uma ideia melhor, valor postar.


valeu


Fernando

Fernando

Responder

Posts

28/06/2006

Marcosrocha

[color=black:cf78abb534][b:cf78abb534]select[/b:cf78abb534] numero,cliente,prazo,data_emissao,valor [b:cf78abb534]from[/b:cf78abb534] nota [b:cf78abb534]where[/b:cf78abb534] [b:cf78abb534]having[/b:cf78abb534] [b:cf78abb534]sum([/b:cf78abb534]valor[b:cf78abb534])[/b:cf78abb534] > 80 [b:cf78abb534]group by[/b:cf78abb534] prazo,cliente[/color:cf78abb534]

Boa Sorte...


Responder

Gostei + 0

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

Aceitar