Fórum Inner join dando pesadelo. 1 mês em cima e sem solução!!! #274785
31/03/2005
0
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
Curtir tópico
+ 0Posts
31/03/2005
Ivonei
Algum moderador, por favor mova para o forum Interbase/Firebird.
Gostei + 0
31/03/2005
Gandalf.nho
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].
Gostei + 0
31/03/2005
Ivonei
Desulpe. Não foi intencional.
Mas continuo na mesma situação (sem solução). :roll:
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)