双加入postgres

时间:2017-04-11 18:02:34

标签: postgresql

我需要从表“commons.user”获取用户名值,使用字段“peticion.id_usuario_gerente”

我不知道如何进行联接或该领域需要什么才能为我带来真正需要的价值“gerente”

peticion.id_usuario_gerente< - 是一个id指向我的表“commons.usuario”

SELECT empleado.id, 
   empleado.fecha_contratado, 
   empleado.fecha_fin_contrato,  
   empleado.persona_comun,
   persona.nombre,
   persona.apellido1,
   persona.apellido2,
   empleado.responsable,
   peticion.id_peticion
   peticion.id_usuario_gerente <-- need username
FROM rrhh.empleado as empleado 
LEFT JOIN commons.persona as persona on empleado.persona_comun = persona.id 
LEFT JOIN seleccion.peticion as peticion on empleado.peticion_contratacion = peticion.id_peticion;

1 个答案:

答案 0 :(得分:0)

您只需要在查询中再添加一个[左]联接。

SELECT empleado.id, 
   empleado.fecha_contratado, 
   empleado.fecha_fin_contrato,  
   empleado.persona_comun,
   persona.nombre,
   persona.apellido1,
   persona.apellido2,
   empleado.responsable,
   peticion.id_peticion
   peticion.id_usuario_gerente,
   usuario_gerente.nombre -- the column name for the user name
FROM rrhh.empleado as empleado 
LEFT JOIN commons.persona as persona 
      on empleado.persona_comun = persona.id 
LEFT JOIN seleccion.peticion as peticion 
      on empleado.peticion_contratacion = peticion.id_peticion
LEFT JOIN commons.usuario as usuario_gerente -- additional join for the table
      on peticion.id_usuario_gerente = usuario_gerente.id_usuario;