[firebase-br] INNER JOIN E OUTER JOIN ! SOLUCAO

Gugui suporte-informatica em emar.com.br
Qua Jul 13 16:38:48 -03 2005


Olha, acho q conclui a solucao e gostaria de debater com vcs !

percebi q o IB 6 funciona a clausula OUTER JOIN, ja no FB 1.5 não ! 
(pelo menos aqui nao rodou )

No IB 6
SELECT PR.GRUPO AS GRUPO, PR.SUBGRUPO AS SUBGRUPO, PR.PRODUTO AS 
DESCRICAO, PR.CODIGO AS IDPRODUTO, PR.UNIDADE, PR.PESO, PR.MINIMO AS 
ESTOQUEMIN, PR.ESTOQUE_EST, PR.PRODUZINDO, SUM(V.VQTDE) AS QTDEPRODUZIR, 
SUM(V.VQTDE * V.VPESO) AS PESOTOTALPRODUZIR
FROM L_PRODUTO_03 PR OUTER JOIN R_SAIDA_03 V ON PR.CODIGO = V.VIDPRODUTO 
AND CAST(V.VDATA AS DATE) >= '07-01-2005' AND CAST(V.VDATA AS DATE) <= 
'07-13-2005' AND IDGRUPO = 18 AND V.ESTOQUE_EST <= V.MINIMO AND PR.TIPO 
<> 'X'
GROUP BY PR.GRUPO, PR.SUBGRUPO, PR.PRODUTO, PR.CODIGO, PR.UNIDADE, 
PR.PESO, PR.MINIMO, PR.ESTOQUE_EST, PR.PRODUZINDO

essa consulta traz o q eu preciso !

focando essa parte:
FROM L_PRODUTO_03 PR OUTER JOIN R_SAIDA_03 V ON PR.CODIGO = V.VIDPRODUTO...

Percebi q OUTER JOIN = retornam a linhas q NAO combinam entre si ! (é o 
q eu queria !)
e   INNER JOIN = retornam a linhas q combinam entre si !

então resolvi inverter o operador de = para <>, assim:

FROM L_PRODUTO_03 PR INNER JOIN R_SAIDA_03 V ON PR.CODIGO <> V.VIDPRODUTO...
e rodou a contento no FB 1.5 !
se alguem puder me dar uma dica de otimizacao dessa consulta, 
agradeceria muito !

sds, Gugui


Carlos H. Cantu (TeamFB) escreveu:

>Poste o select com outer aqui.
>
>[]s
>Cantu (Membro do TeamFB - FireBase)
>http://www.warmboot.com.br
>FireBase - http://www.FireBase.com.br
>
>G> Olá pessoal, eu usava o IB 6 e tinha uma consulta q funcionava 
>G> corretamente com o OUTER JOIN
>G> depois q mudei para o FB 1.5 a mesma consulta nao funciona com o OUTER,
>G> mas com INNER !
>G> o problema é q o resultado não é o mesmo !
>
>G> o q mudou no FB nesse caso ? como posso substituir corretamente o OUTER
>G> JOIN para funcionar no FB ?
>
>G> grato qq ajuda
>
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>  
>





Mais detalhes sobre a lista de discussão lista