2013-10-16 85 views
0

我試圖做一個外連接,當一個字段爲空也有出現「NOBODY」甲骨文外連接

NIVELESCOLARIDADDESC   NOMBRE       IDENTIFICACIONID 
------------------------------ ------------------------------ ---------------- 
Ninguna      Daniel         103044 
Basica Primaria    Fred         3334444 
Basica Primaria    Steven         1
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       

在這種情況下,郵政Doctorado應該有「NOBODY」。這是我的代碼有:

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

回答

2

您可以使用COALESCENOBODY更換null值:

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

你的答案當然是值得做一點解釋。請參閱http://stackoverflow.com/help/how-to-answer。 –