[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