現在、データベースの勉強中です。

掲示板のようなものをつくろうと思っております。
最新のトピック10件に対し、トピックを作った人、最終レス日、ユーザーが使用しているアイコン、レスを10件ずつ取りたい思ってます。
この場合1つのSQLでまとめることは可能なのでしょうか?

現在一度レスの部分以外を取得しForeach文で回すという処理をしておりますが一文でまとめることが可能なのかどうか伺いたいです。

現在はこのようなソースでおこなっております。

$sql_topic = "select t.topic, t.id ,u.username, r.created from topics as t,users as u, responses as r where t.delete_flag != 1 and u.delete_flag !=1 and r.delete_flag != 1 order by r.created desc limit 10";
$res_topic = $this->Topic->query($sql_topic);
foreach ($res_topic as $key => $val){
$topic_id = $val['t']['id'];
$topic = $val['t']['topic'];
$username = $val['u']['username']; $last_res = $val['r']['created'];
$sql_app = "select i.icon_orig, i.id,r.icon_id from icons as a, responses as r where r.topic_id = $topic_id and i.id = r.icon_id order by r.created desc limit 20";
$res_app = $this->Topic->query($sql_app);
}

回答の条件
  • 1人10回まで
  • 登録:
  • 終了:2012/03/24 23:20:06

回答0件)

回答はまだありません

  • id:windofjuly
    うぃんど 2012/03/18 00:10:47
    可能かどうかについては「可能」なのですが、元々のSQLにいろいろと間違いがありますし、
    topics、users、responses、iconsがそれぞれどのようなフィールドを持っているかも不明なので、
    SQLを書いてあげたくても書けないです

    データベースの質問をする場合には、利用しているRDBMSの名前とバージョン、
    利用するテーブルのフィールド一覧と、求めている出力の形が必要になると覚えておきましょう

    暇があれば回答するかもしれませんが、年度末で忙しいので、他の人の回答を待ってもらうしかないとは思いますが、
    このままでは先に進めないと思いましたので、一言コメント入れさせてもらいました

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

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

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

回答リクエストを送信したユーザーはいません