首页 > 解决方案 > 如何从具有不同ID的表中选择相同的列

问题描述

我有两张桌子:

表 tbl_seguimiento。

https://i.imgur.com/jANuBWc.png

表 tbl_usuario。

https://i.imgur.com/OFFKIDk.png

我必须根据两个表上存储的 id 选择多个值。问题是必须两次选择同一列但具有不同的 ID。

我尝试使用左连接语句。

这是我的第一次尝试:

SELECT t1.n_caso, t2.nombre, t5.nombre, t1.inspector, t1.estado, 
t1.detalle, t2.nombre, t1.fecha_ingreso, 
t1.fecha_regreso_inspeccion,t1.fecha_aprobacion, t1.fecha_entrega, 
t1.modificado FROM tbl_seguimiento t1, tbl_departamento t5, tbl_usuario t2 
WHERE t1.funcionario = t2.id_usuario 
AND t1.departamento = t5.id_departamento AND t2.id_usuario =  
t1.delegado_por;

然后我尝试了这个:

 SELECT t1.n_caso, t2.nombre, t5.nombre, t1.inspector, t1.estado,    t1.detalle, t2.nombre, t1.fecha_ingreso, t1.fecha_regreso_inspeccion,
    t1.fecha_aprobacion, t1.fecha_entrega, t1.modificado FROM tbl_seguimiento 
    t1, tbl_departamento t5, tbl_usuario t2
    LEFT JOIN tbl_seguimiento t7 ON t7.delegado_por = t2.id_usuario
    WHERE t1.funcionario = t2.id_usuario AND t1.departamento = t5.id_departamento;

我想根据两个表上的 id 从 tbl_usuario 中选择值 nombre 两次。ids 列是 delegado_por 和 id_usuario。

标签: mysql

解决方案


使用内部连接:

这样,您只需更改 select 语句上的 t 引用。

SELECT t1.n_caso, t3.nombre, t5.nombre, t1.inspector, t1.estado, t1.detalle, t2.nombre, t1.fecha_ingreso, t1.fecha_regreso_inspeccion,
t1.fecha_aprobacion, t1.fecha_entrega, t1.modificado
FROM tbl_departamento t5, tbl_seguimiento t1
INNER JOIN tbl_usuario t2 ON t1.delegado_por = t2.id_usuario
INNER JOIN tbl_usuario t3 ON t2.id_usuario = t2.id_usuario
WHERE t1.funcionario = t3.id_usuario AND t1.departamento = t5.id_departamento;

推荐阅读