从mysql中的两个表中获取字段

时间:2013-04-17 08:09:09

标签: php mysql

我有两张桌子,一张存放已注册的学生,我们称之为 students_register 。 第二个表格保留了学生的考试细节,我们称之为 exam_details 。 在students_register表中,我存储:

student registration number    
first name    
last name    
email_address    
date_of_birth

和其他细节。

在exam_details表中,我将注册号和学生标记存储在不同的科目中。

现在,挑战在于我想查询 exam_details 表并在表格中显示数据,但我不想显示学生注册号码,而是想在exam_details表格中关联注册号码到 students_register 表中的那个,以便我可以显示学生的姓名而不是注册号。

我怎么能这样做?

1。 students_register表

id reg_number first_name  last_name  email_address      dob
1   P2894      John        Smith       john@example.com   12/05/1990

2。考试详情表

id reg_number english maths chemistry  biology physics
1  P2894       60%    80%    50%         72%     64%

如何在表格中显示此数据

first_name last_name  english  maths  chemistry  biology physics
 John       Smith      60%      80%    50%        72%    64%

8 个答案:

答案 0 :(得分:2)

SELECT tb2.first_name, tb2.last_name, tb1.english, tb1.maths, tb1.chemistry, tb1.bilogy, tb1.physics
FROM exam_details AS tb1
INNER JOIN students_register AS tb2
ON tb1.reg_number = tb2.reg_number

看一下SQL连接 - > http://www.w3schools.com/sql/sql_join.asp

答案 1 :(得分:1)

使用简单的JOIN查询:

SELECT id, student_register.reg_number, first_name, 
       last_name, english, maths, chemistry, etc 
FROM student_register
JOIN exam-details ON student_register.reg_number = exam-details.reg_number

答案 2 :(得分:1)

此处无需使用JOIN。我认为这是最简单的方法。

SELECT 
  sr.first_name, 
  sr.last_name, 
  ed.english, 
  ed.maths, 
  ed.chemistry, 
  ed.biology, 
  ed.physics 
FROM 
  students_register sr, 
  exam_details ed 
WHERE 
  sr.reg_number = ed.reg_numver

答案 3 :(得分:1)

参见JOIN

SELECT first_name, last_name, english, maths, chemistry, biology, physics FROM exam_details AS ex JOIN students_register st ON (ex.reg_number = st.reg_number)

答案 4 :(得分:1)

SELECT * FROM student-register INNER JOIN exam-details ON student-detail.reg_number=exam-details.reg_number

可能是您的查询。然后你打印出你喜欢的任何东西。

答案 5 :(得分:0)

select first_name, last_name, english, maths, chemistry, biology, physics
from students_register, exam_details
where students_register.reg_number=exam_details.reg_number

答案 6 :(得分:0)

您必须加入这两个表

SELECT s.first_name, s.last_name, e.english, e.maths, e.chemistry; e.biology, e.physics FROM students_register s LEFT JOIN exam_details e USING (reg_number)

答案 7 :(得分:0)

这可能会对你有帮助。

选择students_register.first_name,students_register.last_name,exam-details.english,exam-details.maths,exam-details.chemistry,exam-details.biology,exam-details.physics from exam-details left join students_register on students_register .reg_number =考试-details.reg_number