mysql - 访问同一张表,不同的参数
问题描述
我正在制作一个客户管理数据库,我有一个名为 Dates 的表,它可以访问 Customer 和 Employee 并且两者都可以访问 Data,个人信息保存在哪里,我怎样才能访问两次 Data?
日期表
--------------------------------------
id fk_idCustomers fk_idEmployee
--------------------------------------
1 1 2
客户表
-------------------
id fk_idData
-------------------
1 1
员工表
-------------------
id fk_idData
-------------------
2 2
数据表
------------------------
id Name LastName
------------------------
1 John Doe
2 John1 Doe1
我想同时拥有员工和客户的姓名
解决方案
我找到了答案:
select
data.nombre ,
data.apellido ,
dates.documentacion,
d.nombre,
d.apellido
from
dates
inner join customers on dates.idCliente = customers.id
inner join data on customers.idDatos = data.id
inner join employees on dates.idUsuario = employees.id
inner join dates d on employees.idDatos = d.id
;
+------+-------+----------+-------+----------+
| id | name | lastname | name | lastname |
+------+-------+----------+-------+----------+
| 1 | John | Doe | John1 | Doe1 |
+------+-------+----------+-------+----------+
5 rows in set (0.00 sec)
推荐阅读
- c# - 为什么 SelectList 在提交帖子时在模型中返回 Null 值?
- opengl - 无法让这个 shadertoy 着色器在 GLSL 和 OpenGL 2.0 中工作
- r - 在绘制校准图、查找 brier 分数和绘制贝叶斯网络的分布时需要帮助
- html - 如何避免强类影响整个网站?
- python - Pandas 值错误(通过的列)无论通过多少列
- postgresql - 如何检测 Postgresql 函数是否利用表上的索引
- python - 如何以特定格式连接两个数据帧?
- java - 项目 java 有两个包,但两者之间有一个 java.lang.ClassNotFoundException
- javascript - 当我没有设置承诺时,为什么会收到未处理的承诺错误?
- javascript - 在js中创建元素