我有4个不同的表。
student: sid, name, gender
grades: sid, grade
address: postcode, sid, distance_to_school
health_condition: sid, health_code
现在我想做一个新的表,包含我上面提到的所有列。我需要将它们连接在一起,基于 sid
. 我试着分别添加列,但代码真的很长。那么有没有其他方法来完成这个任务呢?
如果你想显示你要创建的第五张表的数据,我认为用查询比较好,所以你不需要第五张表。只要
"SELECT * FROM student s
INNER JOIN grades g
on s.sid = g.sid
INNER JOIN address a
on s.sid = a.sid
INNER JOIN health_condition h
on s.sid = h.sid
ORDER BY sid ASC";
请使用下面的查询,将给你准确的结果集。
SELECT t1.sid, t1.name, t1.gender , t2.grade,t3.postcode, t3.distance_to_school,
t4.health_code AS
student as t1 inner join grades t2 on t1.sid=t2.sid
inner join address as t3 on t3.sid= t1.sid
inner join health_condition as t4 on t4.sid=t1.sid
试试这个查询
FROM student s
LEFT JOIN grades g on g.sid = s.sid
LEFT JOIN address a on a.sid = s.sid
LEFT JOIN health_condition h on h.sid = s.sid
WHERE s.sid = ;