0

2つのテーブルをセットアップしました。1 つは学生情報用、もう 1 つは学生/クラス リスト用です。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'

今、すべての学生を選択して、すべての情報を表示できます。ただし、姓で並べ替えることはできません。これは可能だと確信していますが、最初のクエリが配列を返すことを確認すると、2 番目のクエリも配列を返す必要があります。

どんな助けでも大歓迎です。

4

2 に答える 2

3

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
于 2012-09-05T18:12:04.407 に答える
1

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
于 2012-09-05T18:05:09.717 に答える