Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将多个查询合并到一个数组中?_Php_Sql Server_Sql Server 2008 - Fatal编程技术网

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

Php 如何将多个查询合并到一个数组中?,php,sql-server,sql-server-2008,Php,Sql Server,Sql Server 2008,我摆好了两张桌子。一个用于学生信息,一个用于学生/班级列表。我使用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 t

我摆好了两张桌子。一个用于学生信息,一个用于学生/班级列表。我使用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'
现在我可以选择所有学生并显示所有信息;不过,我不能按姓氏分类。我确信这是可能的,但鉴于第一个查询将返回一个数组,我需要第二个查询也返回一个数组


非常感谢您的帮助。

在子查询中使用

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

在子查询中使用

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

查看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

查看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”对我来说是新的,谢谢你的帮助!但愿我能给你一千张选票。不,但它更复杂,我真的不喜欢加入,尽可能简化,我会给他+1:)这很有魅力。非常感谢你。。。“in”对我来说是新的,谢谢你的帮助!希望我能给你一千张投票。不,但它更复杂,我真的不喜欢加入,尽可能简化,我给他+1:)