Juliana:
Qual é a versão do seu DB?
Tente habilitar o suporte a sintaxe SQL99 ANSI colocando o seguinte item no
sql.ini do seu server.
ANSIJoinSyntax=1
Aí reescreva a query como abaixo:
Select Fi.num_Ficha,
Decode(It.cod_Fazenda, null, it.cod_local ||' - '|| Lo.Desc_Local,
it.Cod_Fazenda ||' - '|| Fa.Nome_Fazenda
>From Op_Ficha Fi,
join Op_Ficha_Item It
on Fi.Num_Ficha = It.Num_Ficha
left join Cad_Fazenda Fa
on It.Cod_Fazenda = Fa.Cod_Fazenda
left join Cad_Local Lo
on It.Cod_Local = Lo.Cod_Local
Where It.Safra = Fi.Safra;
o left join indica que o item existe no lado esquerdo do join mas não
necessariamente do lado direito.
abs,
Julio Cesar Dalla Rosa
Analista de Sistemas
AlmapBBDO
55 11 2161-5600
[EMAIL PROTECTED]
________________________________
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de Juliana Bianchini
Nogueira
Enviada em: quarta-feira, 29 de agosto de 2007 07:42
Para: [email protected]
Assunto: [sqlwin] SqlBase
Bom dia,
Estou precisando utilizar mais de um outer join em um select, no oracle consigo
utilizar mais no SQLBASE não deixa fala que só pode usar um outer join, alguém
sabe me dizer se existe alguma forma de fazer com que o SQLBASE deixe utilizar
mais de um.
Exemplo:
Select Fi.num_Ficha,
Decode(It.cod_Fazenda, null, it.cod_local ||' - '|| Lo.Desc_Local,
it.Cod_Fazenda ||' - '|| Fa.Nome_Fazenda
>From Op_Ficha Fi,
Op_Ficha_Item It,
Cad_Fazenda Fa,
Cad_Local Lo
Where It.Safra = Fi.Safra and
It.Num_Ficha = Fi.Num_Ficha and
Fa.Cod_Fazenda(+) = It.Cod_Fazenda and
Lo.Cod_Local(+) = It.Cod_Local
Sem mais,
No aguardo,
Juliana Bianchini Nogueira
Analista de Sistemas
Grupo Carlos Lyra
Tel. (34) 3319-6421