简体   繁体   English

Oracle外部加入

[英]Oracle Outer Join

I'm trying to do a outer join, that when a field is null there have to appear "NOBODY" 我正在尝试进行外连接,当一个字段为空时,必须出现“NOBODY”

NIVELESCOLARIDADDESC           NOMBRE                         IDENTIFICACIONID
------------------------------ ------------------------------ ----------------
Ninguna                        Daniel                                   103044 
Basica Primaria                Fred                                    3334444 
Basica Primaria                Steven                                  1012334 
Basica Secundaria              Helen                                    101245 
Educacion Media                Freda                                    205009 
Tecnico                        Theo                                     107099 
Tecnico                        Harry                                   1031232 
Tecnologo                      Rose                                     105432 
Profesional                    James                                   1099887 
Maestria                       John                                    9909090 
Doctorado                      Aida                                     521765 
Post Doctorado                        

In this case Post Doctorado should have "NOBODY". 在这种情况下,Post Doctorado应该有“NOBODY”。 This is the code i have: 这是我的代码:

SELECT PACIENTE.Nombre, 
       PACIENTE.IdentificacionID, 
       PACIENTE.NivelEscolaridadID, 
       NIVELESCOLARIDAD.NivelEscolaridadDesc
FROM PACIENTE 
  LEFT OUTER JOIN NIVELESCOLARIDAD 
   ON (PACIENTE.NivelEscolaridadID = NIVELESCOLARIDAD.NivelEscolaridadID)

You can use COALESCE to replace the null value with NOBODY : 您可以使用COALESCEnull值替换为NOBODY

SELECT 
    COALESCE(PACIENTE.Nombre, 'NOBODY') Nombre, 
    PACIENTE.IdentificacionID, 
    PACIENTE.NivelEscolaridadID, 
    NIVELESCOLARIDAD.NivelEscolaridadDesc
FROM PACIENTE 
LEFT OUTER JOIN NIVELESCOLARIDAD 
    ON (PACIENTE.NivelEscolaridadID = NIVELESCOLARIDAD.NivelEscolaridadID)
SELECT PACIENTE.Nombre, 
   PACIENTE.IdentificacionID, 
   PACIENTE.NivelEscolaridadID, 
   NVL(NIVELESCOLARIDAD.NivelEscolaridadDesc,'NOBODY')
FROM PACIENTE 
     LEFT OUTER JOIN NIVELESCOLARIDAD 
     ON (PACIENTE.NivelEscolaridadID = NIVELESCOLARIDAD.NivelEscolaridadID)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM