Concatenar columnas basándose en condiciones
-Distintos valores si es nullo o no
-Espacios al final
-Unir columnas generadas con sentencia case
Select RTRIM(paciente.Nombre)+' '+RTRIM(paciente.Ap_Paterno)+' '+ RTRIM(paciente.Ap_Materno) Paciente,
paciente.Sexo,CAST((DATEDIFF(DAY,paciente.Fecha_Nacimiento,GETDATE())/365)as CHAR(15))+' años' Edad,
CASE WHEN (cie10Urgencias1.Diagnostico IS NULL) THEN '' ELSE cie10Urgencias1.Diagnostico+' ['+cie10Urgencias1.idDiagnostico+']'+CHAR(10) END +
CASE WHEN (cie10Urgencias2.Diagnostico IS NULL) THEN '' ELSE cie10Urgencias2.Diagnostico+' ['+cie10Urgencias2.idDiagnostico+']'+CHAR(10) END +
CASE WHEN (cie10Urgencias3.Diagnostico IS NULL) THEN '' ELSE cie10Urgencias3.Diagnostico+' ['+cie10Urgencias3.idDiagnostico+']'+CHAR(10) END +
CASE WHEN (cie10Urgencias4.Diagnostico IS NULL) THEN '' ELSE cie10Urgencias4.Diagnostico+' ['+cie10Urgencias4.idDiagnostico+']'+CHAR(10) END +
CASE WHEN (cie10Urgencias5.Diagnostico IS NULL) THEN '' ELSE cie10Urgencias5.Diagnostico+' ['+cie10Urgencias5.idDiagnostico+']'+CHAR(10) END AS Cie10Urgencias,
CASE WHEN (cie10Hospital1.Diagnostico IS NULL) THEN '' ELSE cie10Hospital1.Diagnostico+' ['+cie10Hospital1.idDiagnostico+']'+CHAR(10) END +
CASE WHEN (cie10Hospital2.Diagnostico IS NULL) THEN '' ELSE cie10Hospital2.Diagnostico+' ['+cie10Hospital2.idDiagnostico+']'+CHAR(10) END +
CASE WHEN (cie10Hospital3.Diagnostico IS NULL) THEN '' ELSE cie10Hospital3.Diagnostico+' ['+cie10Hospital3.idDiagnostico+']'+CHAR(10) END +
CASE WHEN (cie10Hospital4.Diagnostico IS NULL) THEN '' ELSE cie10Hospital4.Diagnostico+' ['+cie10Hospital4.idDiagnostico+']'+CHAR(10) END +
CASE WHEN (cie10Hospital5.Diagnostico IS NULL) THEN '' ELSE cie10Hospital5.Diagnostico+' ['+cie10Hospital5.idDiagnostico+']'+CHAR(10) END AS Cie10Hospital,
RTRIM(usuario.Nombre)+' '+RTRIM(usuario.Ap_Paterno)+' '+ RTRIM(usuario.Ap_Materno) Médico
from AdmIngresosPacientes as ingresos
LEFT JOIN ExpPacientes as paciente on paciente.idPaciente=ingresos.idPaciente
LEFT JOIN ExpNotaIngresoUrgencias as notaUrgencias on notaUrgencias.idPaciente=ingresos.idPaciente AND notaUrgencias.idIngreso=ingresos.idIngreso
LEFT JOIN ExpNotaIngresoHospital as notahospital on notahospital.idPaciente=ingresos.idPaciente AND notahospital.idIngreso=ingresos.idIngreso
LEFT JOIN ExpUsuarios as usuario on usuario.idUsuario=ingresos.Doctor
LEFT JOIN ExpCie10_Diagnosticos as cie10Urgencias1 on cie10Urgencias1.idDiagnostico=notaUrgencias.DiagnosticoCie10_1
LEFT JOIN ExpCie10_Diagnosticos as cie10Urgencias2 on cie10Urgencias2.idDiagnostico=notaUrgencias.DiagnosticoCie10_2
LEFT JOIN ExpCie10_Diagnosticos as cie10Urgencias3 on cie10Urgencias3.idDiagnostico=notaUrgencias.DiagnosticoCie10_3
LEFT JOIN ExpCie10_Diagnosticos as cie10Urgencias4 on cie10Urgencias4.idDiagnostico=notaUrgencias.DiagnosticoCie10_4
LEFT JOIN ExpCie10_Diagnosticos as cie10Urgencias5 on cie10Urgencias5.idDiagnostico=notaUrgencias.DiagnosticoCie10_5
LEFT JOIN ExpCie10_Diagnosticos as cie10Hospital1 on cie10Hospital1.idDiagnostico=notahospital.DiagnosticoCie10_1
LEFT JOIN ExpCie10_Diagnosticos as cie10Hospital2 on cie10Hospital2.idDiagnostico=notahospital.DiagnosticoCie10_2
LEFT JOIN ExpCie10_Diagnosticos as cie10Hospital3 on cie10Hospital3.idDiagnostico=notahospital.DiagnosticoCie10_3
LEFT JOIN ExpCie10_Diagnosticos as cie10Hospital4 on cie10Hospital4.idDiagnostico=notahospital.DiagnosticoCie10_4
LEFT JOIN ExpCie10_Diagnosticos as cie10Hospital5 on cie10Hospital5.idDiagnostico=notahospital.DiagnosticoCie10_5