查询中的第二个查询使用第一个查询的结果

时间:2013-10-23 09:22:18

标签: php mysql sql select

以下select语句返回学生列表:

SELECT * FROM students2014 ORDER BY LastName

但是,对于每一行,我需要从另一个表(notes2014)返回数据,以允许我显示每个学生的最新笔记。 select语句如下:

SELECT Note FROM notes2014 WHERE NoteStudent='$Student'

$ Student表示students2014数据库中每个学生的ID。但是,只有在查询初始语句后才会出现此结果。

所以我的问题是,如何在第一个查询中运行第二个查询?

3 个答案:

答案 0 :(得分:0)

试试这个::

Select 
Student, 
Note 
from 
students2014 s
INNER JOIN notes2014 n on Student = n.NoteStudent
ORDER BY lastName

答案 1 :(得分:0)

你应该像这样查询数据:

select students2014.*, notes2014.note from students2014, notes2014 where students2014.id = notes2014.NoteStudent

答案 2 :(得分:0)

代表OP发表:

我已经解决了!谢谢你的帮助。我最后使用了左连接:

SELECT * FROM students2014
    LEFT JOIN notes2014 ON students2014.Student = notes2014.NoteStudent
    WHERE students2014.Consultant='$Consultant'
    ORDER BY students2014.LastName