PHPとMySQLでサイトを制作しています。


2個のテーブルのデータを合わせて表示するので悩んでいます。
うまく言えなにのですが、

テーブルA
フィールド1   フィールド2
名前1      1
名前2      2
名前3      1

テーブルB
フィールド1   フィールド2
1         赤
2         青

上記のテーブルデータを

名前1  赤
名前2  青
名前3  赤

のように表示させたいのですが、現在はテーブルAをPHPのwhileで出力してレコードごとにテーブルBをSQL文のWHERE テーブルBのフィールド1 = 'テーブルAのフィールド2'で表示して何とか理想の形にはしているのですが他に良い方法はありませんか?

うまく説明することが出来ないのですが、理解していただいた方がいたらよろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:2006/06/15 21:01:46
  • 終了:2006/06/15 23:12:02

回答(3件)

id:moonwolf No.1

MoonWolf回答回数30ベストアンサー獲得回数22006/06/15 21:13:10

ポイント27pt

SELECT A.フィールド1, B.フィールド2 FROM A,B WHERE A.フィールド2=B.フィールド1;

で良いと思います。

id:black_kenchan

表示するときはどうすれ良いですか?

2006/06/15 21:31:44
id:sera_yr No.2

sera_yr回答回数123ベストアンサー獲得回数62006/06/15 21:17:23

ポイント27pt

以下のようなSQLを実行すれば、お望みの結果が得られると思いますがいかがでしょうか。


select テーブルA.フィールド1, テーブルB.フィールド2 from テーブルA,テーブルB where テーブルA.フィールド2 = テーブルB.フィールド1

id:black_kenchan

表示するときはどうすれ良いですか?

2006/06/15 21:31:52
id:sera_yr No.3

sera_yr回答回数123ベストアンサー獲得回数62006/06/15 22:57:45

ポイント26pt

>表示するときはどうすれ良いですか?

以下SQLを実行し、表示するサンプルです。

$sql = "select テーブルA.フィールド1, テーブルB.フィールド2 from テーブルA,テーブルB where テーブルA.フィールド2 = テーブルB.フィールド1";

$res = mysql_query( $sql );

while( $row = mysql_fetch_assoc( $res ) ) {

print $row['フィールド1']." ".$row['フィールド2']."
";

}

id:black_kenchan

テーブル2のデータしか表示されないです。

もう一度、くわしく質問しなおします。

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

2006/06/15 23:10:31

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

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

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

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

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