我正在设计一个用于跟踪在多个办公室之间传输的档案的数据库。每个档案移动必须存盘接收档案的办公室名称和发送档案的办公室名称。
我创建了一个名为tbl_offices的表,并填充了id & office_name对。
我创建了另一个名为tbl_file_movement 的表,其中id作为主键,两列名为recv_from和sent_to。两列(recv_from 和 sent_to)都存盘来自tbl_offices的 office 的相关 ID 。其他列存盘接收日期和发送日期。
有什么问题吗?
为了根据 office id 获取 office 名称,我撰写了如下查询:
SELECT id, recv_from AS Recive_From_ID, sent_to AS Sent_To_ID
FROM tbl_file_movement
JOIN tbl_offices ON recv_from = tbl_offices.id
我应该在 SELECT 陈述句中添加什么以根据 id 从 tbl_offices 获取办公室名称?
uj5u.com热心网友回复:
我理解你的问题的方式是,你想用办公室名称替换档案移动表上的 ID。我写了一个查询,将这样做:
SELECT tbl_file_movement.id,
(SELECT office_name
FROM tbl_offices
WHERE id = recv_from) AS Receive_From_Office_Name,
(SELECT office_name
FROM tbl_offices
WHERE id = sent_to) AS Sent_To_Office_Name
FROM tbl_file_movement
SQL小提琴
编辑更新的链接
0 评论