MySQL - ayudita con consulta de left join

 
Vista:
Imágen de perfil de Hfr
Val: 26
Ha disminuido su posición en 5 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

ayudita con consulta de left join

Publicado por Hfr (21 intervenciones) el 01/08/2016 13:29:10
Hola chicos tengo esta consulta de mysql


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
SELECT nov.CCEMPLEADO_NOVEDAD ,em.FULLNOMBRE_EMPLEADO, nov.VALOR_NOVEDAD, nov.FECHA_NOVEDAD, case nov.IDPROGRAMA_NOVEDAD
WHEN nov.IDPROGRAMA_NOVEDAD=pro.id_programa then pro.nombre_programa end as IDPROGRAMA_NOVEDAD,
case nov.IDCOMCEPTO_NOVEDAD
WHEN nov.IDCOMCEPTO_NOVEDAD= com.ID_COMCPETO then com.NOMBRE_COMCEPTO
end as IDCOMCEPTO_NOVEDAD ,
case nov.FECHAINICIO_NOVEDAD WHen nov.FECHAINICIO_NOVEDAD='' then UPPER('no aplica')
else nov.FECHAINICIO_NOVEDAD
 
end as FECHAINICIO_NOVEDAD,
 
case nov.FECHAFIN_NOVEDAD
WHen nov.FECHAFIN_NOVEDAD='' then UPPER('no aplica' )
else nov.FECHAFIN_NOVEDAD
 
end as FECHAFIN_NOVEDAD,
CASE nov.INDICADORTIPO_NOVEDAD
WHEN 1 then UPPER( ' fija')
WHEN 0 THEN UPPER('eventual')
end as INDICADORTIPO_NOVEDAD
 
 
 
FROM novedad as nov
 
LEFT JOIN empleado e on e.CC_EMPLEADO= nov.CCEMPLEADO_NOVEDAD
LEFT JOIN programa p on p.id_programa=nov.IDPROGRAMA_NOVEDAD
LEFT JOIN comceptos c on c.ID_COMCPETO= nov.IDCOMCEPTO_NOVEDAD
 
where nov.CCEMPLEADO_NOVEDAD='1234567890'and nov.IDCOMCEPTO_NOVEDAD= com.ID_COMCPETO and nov.IDPROGRAMA_NOVEDAD=pro.id_programa


mysql

entonces cuando yo inserto un registro con id diferentes a 1 en el campo l IDPROGRAMA_NOVEDAD, y IDCOMCEPTO_NOVEDAD me muestra null en la consulta y cuando lo inserto con 1 en ambos id me muestra el nombre. del competo y de la novedad.

no se que rayos pasa.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Hfr
Val: 26
Ha disminuido su posición en 5 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

ayudita con consulta de left join

Publicado por Hfr (21 intervenciones) el 03/08/2016 14:35:28
ok ya lo resolví, es que pensé que lo podía hacer un case. pero no

la deje asi. y listo


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
select  nov.* , com.NOMBRE_COMCEPTO , pro.nombre_programa,
em.FULLNOMBRE_EMPLEADO
,
case nov.FECHAINICIO_NOVEDAD WHen  nov.FECHAINICIO_NOVEDAD='' then UPPER('no aplica')
else nov.FECHAINICIO_NOVEDAD
 
end    fechain,
 
case nov.FECHAFIN_NOVEDAD
WHen  nov.FECHAFIN_NOVEDAD='' then UPPER('no aplica' )
 
else  nov.FECHAFIN_NOVEDAD
 
end   fechafin,
 
CASE nov.INDICADORTIPO_NOVEDAD
WHEN 1 then UPPER( 'fija')
WHEN 0 THEN UPPER('eventual')
end  as tipnov
 
 
FROM novedad as nov
 
LEFT JOIN empleado em on em.CC_EMPLEADO= nov.CCEMPLEADO_NOVEDAD
LEFT JOIN programa pro on pro.id_programa=nov.IDPROGRAMA_NOVEDAD
LEFT JOIN comceptos com on com.ID_COMCPETO= nov.IDCOMCEPTO_NOVEDAD

jejeje feliz día a todos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar