Sentencia Mysql con dos campos relacionados a una misma tabla

Tengo 2 tablas en una base datos Mysql, en una tabla están todos los funcionarios de la empresa, y en la otra es una tabla donde se ingresan requerimientos. Ejemplo:

Tabla Funcionarios:

Id, nombre, apellido, documento

Tabla Requerimientos:

Id, asignado, propietario, detalle

En la tabla requerimientos, los campos asignado y propietario son tipo integer y son fk de la tabla funcionarios, lo que necesito es consultar, tanto el nombre y apellido del asignado y del propietario:

Hasta ahora tengo esta sentencia, pero el resultado que arroja es solo el del campo asignado.

select concat(ta_personal.nombre,' ',ta_personal.apellido) as asignado,propietario,concat(ta_personal.nombre,' ',ta_personal.apellido) as propietario_,detalles
FROM tr_requerimientos
inner join ta_personal on tr_requerimientos.asignado=ta_personal.Id
inner join ta_personal as z on tr_requerimientos.propietario=z.Id
inner join tr_status on tr_requerimientos.fk_status=tr_status.Id
inner join tc_estados on tr_requerimientos.fk_estado=tc_estados.Id

este es el resultado que me arroja:

1 respuesta

Respuesta
1

El join esta bien armado pero en la lista del select estás mostrando 2 veces los mismos campos, debería ser algo así:

select concat(ta_personal.nombre,' ',ta_personal.apellido) as asignado,concat(z.nombre,' ',z.apellido) as propietario
FROM tr_requerimientos
inner join ta_personal on tr_requerimientos.asignado=ta_personal.Id
inner join ta_personal as z on tr_requerimientos.propietario=z.Id
inner join tr_status on tr_requerimientos.fk_status=tr_status.Id
inner join tc_estados on tr_requerimientos.fk_estado=tc_estados.Id

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas