依表而建

问题描述 投票:-1回答:1

我有4个不同的表。

student: sid, name, gender 

grades: sid, grade

address: postcode, sid, distance_to_school

health_condition: sid, health_code

现在我想做一个新的表,包含我上面提到的所有列。我需要将它们连接在一起,基于 sid. 我试着分别添加列,但代码真的很长。那么有没有其他方法来完成这个任务呢?

mysql pgadmin-4
1个回答
0
投票

如果你想显示你要创建的第五张表的数据,我认为用查询比较好,所以你不需要第五张表。只要

"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";

0
投票

请使用下面的查询,将给你准确的结果集。

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 

0
投票

试试这个查询

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 = ;
© www.soinside.com 2019 - 2024. All rights reserved.