如何解决具有相似类型 CURRENT、IN 和 OUT 办公室的文件移动数据库 table?

How to solve File Movement database table with similar type CURRENT, IN and OUT offices?

我正在设计一个数据库,用于跟踪在多个办公室之间传输的文件。每个文件移动必须存储从中接收文件的办公室名称和文件已发送到的办公室名称。

我创建了一个名为 tbl_offices 的 table 并填充了 id & office_name对.

我创建了另一个名为 tbl_file_movement 的 table,其中 id 作为主键,两列名为 recv_fromsent_to。两列(recv_from 和 sent_to)都存储来自 tbl_offices 的办公室的相关 ID。其他列存储接收日期和发送日期。

有什么问题吗?

为了根据办公室 ID 获取办公室名称,我编写了如下查询:

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 获取办公室名称?

我对你的问题的理解是,你想用办公室名称替换文件移动 table 上的 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 Fiddle

编辑已更新link