MySQL - 表中的描述与同一个表中的 id 不同

标签 mysql

我有这些表:

tb_员工:

ID       EMPLOYEE
1      Jhonatan Sandoval
2      Patricia Sanchez
3       Ken Dawson

tb_bankacc:

ID         BANK         AMOUNT        OWNER (from tb_employee)
1         Bank 1        250000                  1

tb_pay:

ID            OWNER          EMPLOYEE             AMOUNT
1               1              2                    500
2               1              3                    480

我需要创建一个SELECT QUERY来显示员工的姓名,如下所示:

ID                 OWNER                       EMPLOYEE                 AMOUNT
1             Jhonatan Sandoval              Patricia Sanchez            500
2             Jhonatan Sandoval                Ken Dawson                480

但是,我不知道如何。

最佳答案

使用

SELECT p.Id, o.Employee AS Owner, e.Employee, p.Amount
FROM tb_pay p
INNER JOIN tb_employee e ON e.Id = p.Employee
INNER JOIN tb_employee o ON o.Id = p.Owner

您将两次加入 tb_employee 表,一次是为了获取 Employee 列的名称(通过将 Id 连接到 Employee > 列与 tb_employee 中的 Id - 然后从该记录中获取名称),然后再次获取 Owner 列的名称(将 Owner 列中的 Id 与 tb_employee 中的 Id 连接起来。

关于MySQL - 表中的描述与同一个表中的 id 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20155665/

相关文章:

php - 通过 php(CodeIgniter) 中给定的数组从 mysql 表中选择列。

php - 从数据库中选择具有相同 ID 的最小数量

php - 使用 Laravel 检查数据库是否存在

mysql - 从 ID 号生成唯一的序列号

java - JDBC : Operation not allowed after ResultSet closed

php - 返回 SQL 语句的 MySQL 语句?

mysql - 我如何安装 Mysql 或任何数据库以及如何通过 sublime text 2 使用它

mysql - 获取主键链接到外键的所有表

mysql - 在 MySQL 数据库中存储端口号的最佳方式是什么?

php - 为 MySQL 数据库中的条目设置 "tag"系统