Problema em select com campó nulo

Pessoal fiz uma select só que ela não retorna todos os registros que eu quero, fiz um teste descobri o problema é porque em alguns casos não tenho o campo col.pes_codigo amarrado ao campo usu.pes_codigo, eu precisaria que junto com os campos que estão amarrados os que fogem dessa regra também fossem mostrados. Segue a select:

select col.val_seg_id, 
       cvs.val_seg_nome,
       eco.eco_ip,
       eco.eco_de,
       maq.maq_descricao,
       eco.eco_data,
       eco.eco_assunto,
       eco.eco_anexo,
       eco.eco_tam
 from email_controle eco,
      usuario1 usu, 
      maquinas maq, 
      maquinas_ips mai, 
      colaborador col, 
      contabil.ctb_val_seg cvs
where maq.maq_id = mai.maq_id
 and mai.maq_ip = eco.eco_ip
 and mai.maq_id = usu.maq_id
 and col.pes_codigo = usu.pes_codigo
 and col.val_seg_id = cvs.val_seg_id
order by cvs.val_seg_nome,
         eco.eco_de,
         eco.eco_tam

Olá,

and col.pes_codigo = NVL(usu.pes_codigo, col.pes_codigo)

Essa funcao é do Oracle, se for outro banco tens que ver qual a funcao que compara NULL no teu banco.

]['s

Cara continua na mesma.

Esse é o tipo de coisa que se resolve com OUTER JOINs, dependendo da versão do Oracle você usa OUTER JOIN mesmo ou então usa uma sintaxe que contém (+)

(Não sei a sintaxe de cor, por favor manifestem-se os especialistas em Oracle :stuck_out_tongue: )