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: sqlwin@virtualand.net
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

 

Responder a