PHP+PostgeSQLについて

やっと一つのテーブルから検索を行い結果を表示すると言うことができるようになりました。

次は2つのテーブルを用意し、table1から検索を行い該当したデータの詳細をtable2から取り出すと言うことがしたいのですが本を見ると4つ5つというテーブルやクラスなどを使って複雑になっているため理解ができません。

初心者向けのシンプルで理解しやすいコードを教えてください。

tabel1 は「ID,情報1,情報2」というデータが複数入っています
table2 は「ID,情報3,情報4,情報5,情報6」というデータが複数入っています

「xxx」をキーワードにしてtable1の「情報1,情報2」を検索し、該当したID「1,5,9」という複数のIDに関する「情報3,情報4,情報5,情報6」と言う情報をtable2から取得したいのです。

よろしくお願いします。

回答の条件
  • 1人3回まで
  • 登録:2006/06/04 02:52:59
  • 終了:2006/06/04 04:07:17

ベストアンサー

id:punky99 No.1

punky99回答回数30ベストアンサー獲得回数12006/06/04 03:15:08

ポイント100pt

テーブルの結合で、希望される動作が出来ないでしょうか?

http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-8.0-ja/sql-sel...

こんな感じのSQLになると思います。

SELECT t2.情報3,t2.情報4,t2.情報5,t2.情報6 FROM table1 t1, table2 t2 WHERE t1.ID = t2.ID AND t1.情報1='xxx' AND t1.情報2='yyy'

id:worldtravel

お返事が遅くなりましててすいません。

早速テーブルを作り、データをセットするところから試してみました。

もちろん検索した結果は思い通りの結果を得られることができました。

ありがとうございました。

2006/06/04 04:05:20

その他の回答(1件)

id:punky99 No.1

punky99回答回数30ベストアンサー獲得回数12006/06/04 03:15:08ここでベストアンサー

ポイント100pt

テーブルの結合で、希望される動作が出来ないでしょうか?

http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-8.0-ja/sql-sel...

こんな感じのSQLになると思います。

SELECT t2.情報3,t2.情報4,t2.情報5,t2.情報6 FROM table1 t1, table2 t2 WHERE t1.ID = t2.ID AND t1.情報1='xxx' AND t1.情報2='yyy'

id:worldtravel

お返事が遅くなりましててすいません。

早速テーブルを作り、データをセットするところから試してみました。

もちろん検索した結果は思い通りの結果を得られることができました。

ありがとうございました。

2006/06/04 04:05:20
id:sera_yr No.2

sera_yr回答回数123ベストアンサー獲得回数62006/06/04 03:56:10

ポイント80pt

これでどうでしょう

select 情報3,情報4,情報5,情報6 from table1, table2 where 情報1='xxx' or 情報2='xxx' and table1.ID = table2.ID

次のように書いても同じです

select 情報3,情報4,情報5,情報6 from table1 inner join table2 on table1.ID = table2.ID where 情報1='xxx' or 情報2='xxx'

id:worldtravel

一つのことをするときに色々なやり方がありますね。

これがプログラミングのおもしろさなのでしょうかね^^

ありがとうございました。

2006/06/04 04:06:31

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません