【发布时间】:2020-01-08 18:16:23
【问题描述】:
工人 | (父表)
-------------------------------------------------|
name | last name | job_id (FK) | chore_id (FK) |
-------------------------------------------------|
John | Johnson | 1 | 1 |
-------------------------------------------------|
Peter | Peterson | 2 | 2 |
-------------------------------------------------|
job_titles | (子表)
------------------------|
job_id (PK) | job_title |
------------------------|
1 | Manager |
------------------------|
2 | Director |
------------------------|
家务 | (子表)
----------------------------|
chore_id (PK) | chore_title |
----------------------------|
1 | Clean |
----------------------------|
2 | Dishes |
----------------------------|
上面是我的数据库。
我从 PHP 中的工作人员那里获取数据以显示它。我想显示子表中的job_title,而不是父表中的job_id。
这是我通过以下方式实现的:
SELECT name, last_name, job_title
FROM workers, job_titles
WHERE job_titles.job_id=workers.job_id
在此查询中,我还想获取 chore_title 而不是 chore_id,这意味着我将同时从两个子表中获取。
这样做的正确方法是什么?
【问题讨论】:
-
添加另一个联接。顺便说一句,您应该学习如何使用 ANSI JOIN 而不是老式的逗号分隔的表格列表。
-
@Barmar 我明白了。您是否有机会举例说明在这种情况下如何使用 ANSI JOIN?谢谢!
标签: sql