人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQL+PHPで、サイトを制作しているのですが、データの表示の仕方で悩んでいます。

MySQLの group by と join を一緒に使う時はどの様に記述すればよいのでしょうか?

現在は、下記の様にしています。

$sql = "";
$sql .= "select f1";
$sql .= " from tb1 group by f1;
$rs = mysql_query( $sql, $conn );

while( $rec = mysql_fetch_array( $rs, MYSQL_ASSOC )){

$sql = "";
$sql .= "select tb1.f1 AS t1f1,tb2.f1 AS t2f1,tb2.f2 AS t2f2";
$sql .= " from tb1 left outer join tb2 on tb.f1 = tb2f1";
$rs = mysql_query( $sql, $conn );

while( $rec = mysql_fetch_array( $rs )){ print $rec["t2f2"]."<br>"; }

}

のような感じで表示してますが、もっと簡単に記述する方法はありませんか?
うまく説明することが出来ないのですが、理解していただいた方がいたら解説などをいれてお願いします。

●質問者: black_kenchan
●カテゴリ:ウェブ制作
✍キーワード:as F1 GROUP MySQL ON
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● ito-yu
●100ポイント ベストアンサー

とりあえず、書いてあるSQL/スクリプトはどう考えても間違っている(外のwhileで使っている$recを内のwhileで上書きしてる、他にもtypoがありそう)様に見えるので、黙って以下のSQLを使って見てください。

SELECT DISTINCT tb1.f1 AS t1f1,tb2.f1 AS t2f1,tb2.f2 AS t2f2 FROM tb1 LEFT OUTER JOIN tb2 ON tb1.f1=tb2.f1;

もとのスクリプトだとなんのためにwhileが2重になってるのかわかりません

◎質問者からの返答

一発で、出来ました。

本当に有難うございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ