mysql - 如何从具有不同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。
解决方案
使用内部连接:
这样,您只需更改 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;
推荐阅读
- elasticsearch - 将我的复制设置到远程弹性搜索集群时出现问题
- webdriver-io - 如何将外部数据文件(例如 json 文件)用于场景大纲以迭代场景
- css - 带页码的页脚
- kotlin-exposed - Kotlin Exposed 批量插入未按记录工作
- java - 使用spring集成dsl逐行读取文件
- reactjs - GraphQL 查询适用于 Gatsby 页面,但不适用于类组件
- r - 基于成对距离的聚类组
- c++ - 未找到 LLVM JIT 符号
- php - 相同键的两个数组值相减,并在php中获得匹配和不匹配值的结果
- php - 在 Eloquent 中从数组中删除对象