SQL SELECT 来自 3 个表格
SQL SELECT from 3 tables
ft_pupils
- id //Primary Key
- name
- start_date
ft_entries
- id
- pupil_id //Foreign Key
- aol_id
ft_aol
- id
- title
对于 ft_entries table 中的每个条目我想使用 SELECT 到 select ft_entries table 中的每个条目但 aol_id 替换为 ft_aol 内的标题。
我已经成功获得:
SELECT name, aol_id FROM ft_pupils, ft_entries WHERE pupil_id = ft_pupils.id
工作正常。
我希望 WHERE 位于 WHERE pupil_id = ft_pupils.id
我现在很迷茫
您可以尝试加入 3 table。
SELECT Name,title FROM ft_entries
INNER JOIN ft_pupils ON pupil_id = ft_pupils.id
LEFT JOIN ft_aol ON ft_aol.id = aol_id
这将向您展示如何获取您要查找的数据并显示所有 ID。如果你不想看到它们,你可以删除它们:
SELECT a.id,
b.pupil_id,
c.id,
a.NAME,
a.start_date,
c.title
FROM ft_pupils a
JOIN ft_entries b ON a.id = b.pupil_id
JOIN ft_aol c ON c.id = b.aol_id
ft_pupils
- id //Primary Key
- name
- start_date
ft_entries
- id
- pupil_id //Foreign Key
- aol_id
ft_aol
- id
- title
对于 ft_entries table 中的每个条目我想使用 SELECT 到 select ft_entries table 中的每个条目但 aol_id 替换为 ft_aol 内的标题。
我已经成功获得:
SELECT name, aol_id FROM ft_pupils, ft_entries WHERE pupil_id = ft_pupils.id
工作正常。
我希望 WHERE 位于 WHERE pupil_id = ft_pupils.id
我现在很迷茫
您可以尝试加入 3 table。
SELECT Name,title FROM ft_entries
INNER JOIN ft_pupils ON pupil_id = ft_pupils.id
LEFT JOIN ft_aol ON ft_aol.id = aol_id
这将向您展示如何获取您要查找的数据并显示所有 ID。如果你不想看到它们,你可以删除它们:
SELECT a.id,
b.pupil_id,
c.id,
a.NAME,
a.start_date,
c.title
FROM ft_pupils a
JOIN ft_entries b ON a.id = b.pupil_id
JOIN ft_aol c ON c.id = b.aol_id