我有一个用户表、一个工作表和一个文件表;确切的表名是user_table
、jobs
和files
。
files 表和 jobs 表有一个公共字段,jobs 表和 users 表有一个公共字段,但所有 3 个都没有公共字段。所以 files 表有jobid
哪个等于id
jobs 表,jobs 表有userid
哪个等于userid
users 表。
示例记录
files table
id name path jobid
-------------------------------------------
7 test.gif uploads/test.gif 130
jobs table
id userid ponumber date
------------------------------------------------
130 1013 2322 10/14/2013 2:55:1pm
user_table table
userid username email fname sname
-------------------------------------------------------
1013 username email@email.com first last
文件 7 属于作业 130,作业 130 属于用户 1013。因此,当在页面上显示文件时,我还想显示文件的所有者,但那是两个表的距离。
我怎样才能做到这一点?我没有尝试过任何东西,因为我是 MySQL 编程的新手。如果我尝试猜测一些东西,它可能会是这样的:
SELECT *
FROM user_table u
INNER JOIN jobs j USING (userid)
LEFT JOIN files f ON j.id = f.jobid
这可能是一个疯狂的猜测,甚至不值得一提。