• ベストアンサー

SQLの組み立て

商品データベースを開発しているのですが、以下のような事がSQLで実装可能なのでしょうか? 以下の物件一覧ページで実装されているようなSQLを組みたいと思っています。 http://realestate.yahoo.com/search/New_York/New_York/apartments-for-rent ・一つ建物情報に複数の空き部屋情報を結びつけてSQLを行う。 ・空き部屋を条件に絞り込む ・建物情報をグループ可し、10件取得する。 SQLで組み立てるものでしょうか?プログラム側でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • uams
  • ベストアンサー率63% (100/157)
回答No.1

SQLの方が簡単かと思います。 例えば以下のようなテーブルを作成します。 ・建物情報テーブル(建物ID、建物名・・・) ・部屋情報テーブル(建物ID、部屋ID、空き状況、付帯設備フラグ・・・) このテーブルに対して、建物IDで結合して建物IDと部屋IDでソートすれば、ひとつの建物情報に複数の空き部屋情報を結びつけることが可能です。また、部屋情報テーブルの空き状況をWHERE句に指定すれば、空き部屋だけを絞り込むことが可能です。 グループ化した10件の建物情報を取得するという要件については、10件というのが画面上の制約なのかデータ上の制約なのかわかりませんのでノーコメントです。もし画面上の制約(10件が表示の限界)ということであれば、一度に該当データをすべて取得しておいて、画面側(プログラム側)で10件ずつ表示する方がデータベースへのアクセスが減るためお勧めです。ただし、インターネットなどのネットワーク経由のものであれば、逆のパターンの方がよい場合もありますのでご注意ください。

noname#152201
質問者

補足

ありがとうございます。 質問が下手ですみません。結合し取得する方法は、理解できるのですが、、、 http://realestate.yahoo.com/search/New_York/New_York/apartments-for-rent 上記ページのように ・空き部屋がある建物10件を表示する。 ・建物毎に空き部屋を表示する。 のような事がSQLを組み立て取得する事は可能でしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A