2011-01-16 8 views
0

私はHTMLのリストは、関係する二つのテーブルに参加する1対多

以下の基本的なスキーマを考える

tableOne (1)----------(*) tableTwo 

すなわち1対多の関係を経由して関連する2つのテーブルを、持っています

tableOne { 
    groupID int PK, 
    groupTitle varchar 
} 

tableTwo { 
    bidID int PK, 
    groupID int FK 
} 

二つのテーブルが接合に基づいて、次のレコードセットを得る検討tableOne.groupID = tableTwo.groupID,

tableOne.groupID | tableOne.groupTitle | tableTwo.bidID | tableTwo.groupID 
________________________________________________________________________________ 

     1  | Physics Group   |  1   |  1 

     2  | Chemistry Group  |  2   |  2 

     2  | Chemistry Group  |  3   |  2 

     1  | Physics Group   |  4   |  1 

上の表では、私は次のような記録的な設定HTMLテーブルでの一覧を表示したいと思います:

tableOne.groupID | tableOne.groupTitle | tableTwo.bidID | tableTwo.groupID 
________________________________________________________________________________ 

     1  | Physics Group   |  1   |  1 

        | Physics Group   |  4   |  1 

     2  | Chemistry Group  |  2   |  2 

        | Chemistry Group  |  3   |  2 

これはSQLで行うことができる場合、私は知りたいんです、あるいは、そのようなレコードセットを良い標準を使ってHTMLで表示する方法を見つけることができます。

頭に浮かぶソリューションは、単に、レコードセットを反復処理し、単一の行<tr>にグループ化された同じtableOne.groupIDですべてのレコードを一覧表示するセンチネルを活用している - そしてまた、そのレコードの一意の識別子として一度tableOne.groupID秒をリストアップ-グループ。しかし、可能ならばHTMLとコードを混ぜるのを避けたいので、私はその道を踏み出すことを望んでいません。

答えて

0

ORDER BY句を使用してSQL結果を注文できます。

だから、あなたはあなたのクエリに

ORDER BY tableOne.groupID ASC, tableTwo.bidID ASC 

を追加した場合、あなたはそこに半分の方法です。

次のステップは、ループにあり、あなたのASPページからレコードを印刷するだけでなく、最後groupIDはそれを表示するかどうかを決定するために、現在と異なるかどうかをチェック..

関連する問題