Função OUTER no Join SQL.

Firebird

18/10/2003

Olá, Pessoal.
Estou com uma duvida.
Alguem já ouviu falar da função OUTER em um JOIN no SQL ?
Estou querendo saber como faço para usar essa função no FIREBIRD/INTERBASE. Será que é possível ?
Exemplo.:

SELECT * FROM ITEM , [b][i]OUTER[/i][/b] GRUPO_PRODUTO
WHERE ITEM.COD_GRUPO = GRUPO_PRODUTO.COD_GRUPO

Se caso não existir o grupo de produto cadastrado para algum item, ele traz o registro do item mesmo assim. Alguém já fez isso no FIREBIRD ?
Se puderes me ajudar, agradeço desde já.

Fiquem com Deus e que Jesus ilumine seus passos sempre por onde andares.

Ovidio Jr.


Ovidio

Ovidio

Curtidas 0

Respostas

Afarias

Afarias

18/10/2003

|Alguem já ouviu falar da função OUTER em um JOIN no SQL ?
|Estou querendo saber como faço para usar essa função no
|FIREBIRD/INTERBASE. Será que é possível ?

Sim, só usar a sintaxe SQL padrão ANSI-92

os OUTER joins podem ser LEFT, RIGHT ou FULL -- em geral, se omite o parâmentro OUTER e e usa-se apenas os parâmetros LEFT, RIGHT ou FULL -- dê uma lida no help de SQL do Interbase ou Firebird no comando SELECT.


|SELECT * FROM ITEM , OUTER GRUPO_PRODUTO
|WHERE ITEM.COD_GRUPO = GRUPO_PRODUTO.COD_GRUPO

este SQL ficaria na forma::

select * from item left outer join grupo_produto on (item.cod_grupo = grupo_produto.cod_grupo)
where {...suas condições...}

mas o OUTER pode ser omitido::

select * from item left join grupo_produto on {...}

e, em lugar do LEFT pode ser usado RIGHT ou FULL de acordo com o resultado esperado.


|Se caso não existir o grupo de produto cadastrado para algum item, ele
|traz o registro do item mesmo assim. Alguém já fez isso no FIREBIRD ?

Claro, então é o LEFT q vc tem q usar.


T+


GOSTEI 0
POSTAR