GARANTIR DESCONTO

Fórum Inner join dando pesadelo. 1 mês em cima e sem solução!!! #274785

31/03/2005

0

Olá Pessoal

Estou em cima disso já faz 1 mês. Dia 11/03 recebi ajuda do forum, mas não deu para solucionar tudo. Me sugeriram usar uma ps. Só que não sei como fazer (se é que resolveria). :?

Preciso criar uma sql, q mostre o QTDADE q existe na tabela Produto, sendo que deve ser entre um intervalo de GRUPO (between) e deve ainda diminuir da QTDADE que tiver na tabela ItemPedido, mas somente dos registros do Pedido em que FATURADO is null.
Teria que retornar todos os codigos da clausula WHERE, mostrando o campo C.QTDPRO - (SUM(A.QTDNSI)) em ESANSI. Teria que aparecer 163 registros (cfe a clausula WHERE). Mas só aparece 82 (que é o q tem em ESANSI cfe o INNER JOIN de ESANST).
Segue abaixo o sql que estou querendo usar, mas sem sucesso. Já testei o segundo join de várias formas:
INNER JOIN ESANST- Retorna vários saldos negativos e incorretos;
LEFT JOIN ESANST- Retorna o valor correto, mas mostra somente a QTDPRO dos produtos que aparecem também em ESANSI. Ou seja, só o que está no INNER JOIN de ESANST.


Select C.qtdpro-SUM(A.QTDNSI) SALDO, C.codpro, C.grupro from ESAPRO C
LEFT JOIN esansi A ON (A.CODNSI=C.CODPRO)
INNER JOIN esanst B ON (A.NPCNSI=B.NPCNST AND B.NNFNST IS NULL)
WHERE C.Grupro between 1 and 3 and blqpro=´N´
GROUP BY C.despro, C.codpro, C.grupro, C.qtdpro

Uso firebird 1.5 e no sistema IBQuery e IBDataset.
tabelas:
ESAPRO - Produtos;
ESANST - Pedidos;
ESANSI - Itens dos pedidos;
Os campos são:
C.qtdpro - Qtdade do produto;
C.codpro - Codigo do produto;
C.grupro - Grupo do produto;
A.QTDNSI - Qtdade do item no pedido;
A.CODNSI - Codigo produto no item do pedido;
A.NPCNSI - Codigo do pedido na tabela item do pedido;
B.NPCNST - Codigo do pedido;
B.NNFNST - Numero da NF (depois de faturar)
B.datnst - Data do pedido;

Por favor, me ajudem pois só falta isto para terminar o sistema que estou fazendo.

[ ]´s
Ivonei


Ivonei

Ivonei

Responder

Posts

31/03/2005

Ivonei

Desculpem. Mandei para o forum errado. :oops:
Algum moderador, por favor mova para o forum Interbase/Firebird.


Responder

Gostei + 0

31/03/2005

Gandalf.nho

[b:aea1147e8c][color=red:aea1147e8c]Notificação de Infração às Regras de Conduta :[/color:aea1147e8c][/b:aea1147e8c]

Tópico deveria estar como continuação do tópico abaixo e não como tópico novo
[url]http://forum.clubedelphi.net/viewtopic.php?p=189889[/url]

Para maiores esclarecimentos pode mandar-me uma [url=http://forum.clubedelphi.net/privmsg.php?mode=post&u=8378]Mensagem Particular[/url].


Responder

Gostei + 0

31/03/2005

Ivonei

[b:f9b2e6263a][color=red:f9b2e6263a]Notificação de Infração às Regras de Conduta :[/color:f9b2e6263a][/b:f9b2e6263a] Tópico deveria estar como continuação do tópico abaixo e não como tópico novo [url]http://forum.clubedelphi.net/viewtopic.php?p=189889[/url] Para maiores esclarecimentos pode mandar-me uma [url=http://forum.clubedelphi.net/privmsg.php?mode=post&u=8378]Mensagem Particular[/url].


Desulpe. Não foi intencional.
Mas continuo na mesma situação (sem solução). :roll:


Responder

Gostei + 0

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

Aceitar