こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

SQLで別テーブルの参照

こんにちは。
PostgreSQL+Perl+DBIでCGIを書いています。
テーブルからデータを取得する場合なのですが、table1にはIDのみが登録されていて、table2には、そのIDに対する文字列が登録されているとします。
このような場合に、tableからIDを取得して、そのIDに対するtable2の文字列を一気に取得することは可能でしょうか?

つまり、
$dbh=DBI->connect(~);
$sth=$dbi->prerare("SELECT id FROM table1 WHERE ~;");
$sth->excecute();
$id=$sth->fetchrow;
$sth->finish();
$sth=$dbi->prerare("SELECT str FROM table2 WHERE id=$id;");
$sth->excecute();
$str=$sth->fetchrow;
$sth->finish();
$dbh->disconnect();

といった処理をこんな感じに一度に行いたいのです。

$dbh=DBI->connect(~);
$sth=$dbi->prerare("~~~~~;");
$sth->excecute();
$str=$sth->fetchrow;
$sth->finish();
$dbh->disconnect();

可能かどうかもわからないのですが、なにか良い方法はありますでしょうか?よろしくお願いします。

投稿日時 - 2008-03-24 19:31:39

QNo.3891265

困ってます

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

以下のような感じでテーブルを結合すればよいと思いますが。

SELECT table1.ID table2.NAME
FROM table1 table2
WHERE table1.ID = table2.ID AND table1.ID=$id

投稿日時 - 2008-03-24 19:35:25

お礼

ありがとうございます。大変参考になりました。
最終的には、このような形になりました。
SELECT table1.*,table2.name FROM table1 LEFT OUTER JOIN table2 ON table1.id=table2.id;

投稿日時 - 2008-03-25 17:02:23

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問