私はこのコードを持っています:
$result = mysql_query("SELECT
f_type.`id` AS type_id,
f_type.`name` AS type_name,
f_thread.`id` AS thread_id,
f_thread.`uid`,
f_thread.`title` AS thread_title,
f_thread.`hits`,
u.`username`
FROM `forum_type` AS f_type
LEFT JOIN `forum_thread` AS f_thread
ON f_type.`id` = f_thread.`type_id`
LEFT JOIN `users` AS u
ON u.`id` = f_thread.`uid`
LEFT JOIN `forum_posts` AS f_posts
ON f_posts.`type_id` = f_thread.`id`
WHERE f_type.`id` = '".$_GET['type_id']."'
ORDER BY f_posts.`date` DESC
") or die (mysql_error());
これはフォーラムに関するものであり、このフォーラムの最新の投稿を確認するようにスレッドを並べ替えたいと思います。
フォーラムのサブカテゴリとしてforum_type(f_type)を使用します。これは、トップカテゴリです。したがって、その階層は次のリストのようになります。
- フォーラム
- forum_type
- forum_thread
- forum_posts
そして、私がコードで書いたクエリのように、私は最新の投稿日で注文したかったのですが...それでは注文しません。実際に何が注文されているのかわかりません...スキームがわかりません。これらの複数の結合が原因でこの問題が発生したと思いますが、よくわかりません。
何か提案をいただければ幸いです。