Ae pessoal, estou com a seguinte duvida
No meu banco (postgresql) tenho que fazer uma busca por pedidos(titulos) em atrasos onde o meu retorno seja os dados apenas do meu pedido mais antigo por cliente.
por ex.:
minha tabela pedido vai ter:
idPedido,idCliente,valor,juros,vencimento…
entao preciso fazer um SELECT que me retorne os pedidos em atraso do Cliente Seu Ze, mas se por acaso o meses em atraso(vencimento) de seu ze forem (01/06 , 02/06, 03/06, 04/06) ele me retorne os dados do mês de janeiro (por se o mais antigo); e me diga quantos estao em atraso, no caso 4 pedidos(titulos);
retorno seria tipo:
pedido no X
cliente Seu Ze
valor 50,00
juros 2,00
vencimento 10/01/06
4 pedidos em atraso
…
alguem pode me ajudar com isso ae ?
fazer com que ele traga o mais antigo mais mesmo assim conte a quantidade, to com a cabeca a mil hj, sei que vai ser simples…
Ponha a sua verificação de atraso “where” dentro de um COUNT.
Dessa forma, ele vai contar quantos pedidos (meses) estão em atraso.
Foi o que eu consegui entender da sua pergunta…
A sintaxe é mais ou menos assim:
SELECT COUNT(o q vc quer contar)
FROM SuaTabela WHERE SuaCláusulaDeBusca
Avisa se for issoe se der certo!
Relmente precisa ser em uma unica query ???
Vai aí uma solução bem simples… Faça dois selec um para retornar o mais antigo e um para retornar a quantidade.
Ex: Select xxx, yyy, data from sua_tabela where xxx = … and data >= all(select data from sua_tabela where xxx = …)
E depois um select count from sua_tabela where …
Coisas complexas a maioria das vezes exigem solucões simples… Isso resolve seu problema, mas caso queira dar uma complicada e trabalhar um dia inteiro nisso vc pode ciar uma procedure e usar tabelas temporarias talvez cursores… vai dar um p… trampo
na verdade eu vou ter que fazer alguns LEFT JOINs o que eu queria mesmo era o caminho das pedras ja que eu estava com a cabeca bastante atarefada!
vlw vou fazer aqui do melhor jeito e digo a vcs depois.