-2

我有 6 个表,它们都包含学生信息。表名:学生详细信息、医生详细信息、录取详细信息、previous_school、父亲详细信息、母亲详细信息。这些表中的每一个都包含一个唯一的 ID。

要将所有这些表合二为一,我有一个 student_info 表,其中包含上述 6 个表中的所有 id。这些链接到相应表中的唯一 ID。

我需要显示所有学生信息,我知道我会使用左连接和右连接,我只是不确定 mysql 如何读取 student_info 表中的 id 并从相应表中获取所有信息,以便用户查看所有学生信息以一种形式。

先感谢您。

4

2 回答 2

0

编辑: http ://sqlfiddle.com/#!2/c5489/2 (工作示例)

您不需要将所有ids 放在每个表中,而是每个表都有自己的主键 ID - 保证是唯一的,并且您很可能会使用inner join

Table A(user_id int, user_name varchar(255))
Table B(student_id int, student_email varchar(255))

然后选择你想要的数据,使用相关的 ID 加入:

Select user_name from TableA
INNER JOIN TableB ON
TableA.user_id = TableB.student_id
于 2013-04-01T18:39:10.430 回答
0

您必须指定连接才能使这项工作:

select * from student, student_info where student_info.student_id = student.id

这告诉服务器从两个表中返回所有信息,其中学生 ID 与学生信息中存储的学生 ID 匹配。

在这里,我假设学生是一个 1:many 与 student_info (其中至少有一个,但每个学生信息可以是多个学生信息行)。

于 2013-04-01T18:40:21.270 回答