繁体   English   中英

如何将多个查询合并到一个数组中?

[英]How do I combine multiple queries into an array?

我有两个桌子。 一种用于学生信息,一种用于学生/班级列表。 我使用MSSQL 2008 R2的sqlsrv插件在PHP中进行编码。

Student ID
Class Code

Student ID
First Name
Last Name

我需要从班级中选择所有学生,但要按姓氏排序。

SELECT student_id FROM table1 WHERE class_code LIKE '402843'
$students = SELECT last_name, first_name FROM table2 WHERE student_id LIKE 'all results of first query'

现在,我可以选择所有学生并显示所有信息。 但是,我无法按姓氏对它们进行排序。 我敢肯定这是可能的,但是看到第一个查询将返回一个数组,因此我需要第二个查询也返回一个数组。

任何帮助将不胜感激。

查看SQL中的联接,然后在查询中完成所有操作,而不是在PHP中完成所有操作...

使用示例并出于代码目的,按以下方式命名表

ClassCodeTable  
    Student ID
    Class Code

StudentInfoTable
    Student ID
    First Name
    Last Name

那么您的查询看起来像

SELECT SI.last_name, SI.first_name FROM StudentInfoTable SI JOIN ClassCodeTable CC on CC.student_id=SI.student_id WHERE CC.class_code LIKE '402843' ORDER BY SI.last_name ASC

使用IN子查询:

SELECT last_name, first_name FROM table2 WHERE student_id IN (SELECT student_id FROM table1 WHERE class_code='402843') ORDER BY last_name ASC

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM