0

私は2つのテーブルを持っています:

Institute:
-----------
id       name         city
-----    -------      -------
1        Name 1       London    
2        Name 2       Leeds
3        Name 3       Edinburgh

Course:
--------
id       i_id     name                      stream
-----    -----    --------------------      -------
1        1        Computer Engineering      Engineering 
2        1        Chemical Engineering      Engineering
3        2        Electronics Engineering   Engineering 
4        3        Mechanical Engineering    Engineering

結果セットには次の情報が必要です。

  1. 工学系の科目を履修する機関(名称1、名称2、名称3)。
  2. 研究所が提供するすべてのコース。

さて、これはこの結果セットを達成するための私のクエリです:

SELECT institute.id, institute.name AS i_name, institute.city, course.name AS c_name
FROM institute, course
WHERE institute.id = course.i_id
AND course.stream = 'Engineering'
ORDER BY institute.id

このクエリは 4 つのレコードを返します。

id      i_name      city           c_name
---     -------     ---------      ----------------
1       Name 1      London         Computer Engineering
1       Name 1      London         Chemical Engineering
2       Name 2      Leeds          Electronics Engineering
3       Name 3      Edinburgh      Mechanical Engineering

この結果セットを反復処理して、Web ページのデータのリストの下に取得するにはどうすればよいですか。

 Found 3 Institutes
 ----------------------
 1) Name 1, London
    Courses Offered:-
    => Computer Engineering
    => Chemical Engineering

 2) Name 2, Leeds
    Courses Offered:-
    => Electronics Engineering

 3) Name 3, Edinburgh
    Courses Offered:-
    => Mechanical Engineering

[追加]

Web ページにページネーションを設定しました。ここで、ページごとに 2 つのレコードを表示したいとします。上記のクエリを で実行しますLIMIT 0,2。明らかに、クエリの最初の 2 つのレコードで同じ機関が得られるため、この場合は 3 番目の機関も必要になります。

このような動的クエリを作成できますか?

4

1 に答える 1