【发布时间】:2018-07-31 08:15:19
【问题描述】:
我的数据库由两个表组成
用户表
+---------+----------+---------------+-----------+
| user_id | username | password_hash | user_type |
+---------+----------+---------------+-----------+
| 1 | Admin | hash | 0 |
| 2 | Student | hash | 1 |
| 3 | Teacher | hash | 2 |
+---------+----------+---------------+-----------+
门票表
+-----------+---------+-----------------+----------------+--------------------+---------------+-------------+
| ticket_id | user_id | ticket_category | ticket_summary | ticket_description | ticket_status | assignee_id |
+-----------+---------+-----------------+----------------+--------------------+---------------+-------------+
| 1 | 2 | Network | Test Network | Lorem Ipsum | 1 | 1 |
| 2 | 3 | Printer | Test Printer | Lorem Ipsum | 1 | |
+-----------+---------+-----------------+----------------+--------------------+---------------+-------------+
tickets.user_id 和tickets.assignee_id 都是users.user_id 的外键
我正在使用以下 select 语句查询这些表
SELECT username AS `Opened By`, assignee_id AS `Assigned To`, ticket_category AS `Category`, ticket_summary AS `Summary`, ticket_description AS `Description`, IF(ticket_status = 1,'Open','Closed') AS `Status` FROM tickets INNER JOIN users ON tickets.user_id = users.user_id;
这样构建一个数据集
+-----------+-------------+----------+--------------+-------------+--------+
| Opened By | Assigned To | Category | Summary | Description | Status |
+-----------+-------------+----------+--------------+-------------+--------+
| Student | 1 | Network | Test Network | Lorem Ipsum | Open |
| Teacher | | Printer | Test Printer | Lorem Ipsum | Open |
+-----------+-------------+----------+--------------+-------------+--------+
在我的 select 语句中,我想将 assignee_id 编号替换为它在 users 表中也对应的用户名。
例如,第一张工单 (ticket_id = 1) 的 assignee_id 为 1,我希望“分配给”列显示用户名“Admin”而不是 1
如何修改我的选择查询来完成此操作?
【问题讨论】:
标签: mysql