私はダッシュボードの種類(空白を使用するため)が必要なオンラインアプリケーションがあります。mysql:グループ結果を制限し、1つのクエリで他のテーブルに結合します。
操作に使用される3つのテーブルがあります:私は(サムネイル画像と、私はentryimagesテーブルとカテゴリのテーブルに参加する必要が)4-5エントリを表示するダッシュボード上の
1.) categories: id, name
2.) entries: id, name, description, category_id, created, modified
3.) entryimages: id, filename, description, entry_id
については、各カテゴリ。
私はこのような(ようにとスレッド)いくつかの記事を読む: http://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax-row-per-group-in-sql/
しかし、まだ右のそれを取得していないです、私は最初の抽出物にすべてのカテゴリを試してみましたが、それぞれ、すべてのカテゴリ用にビルドしましたクエリと "すべてのユニオン"と1つを添付して、それは動作していません。 私が使用したコードの最後のバージョン:
foreach($categories as $id => $name)
{
$query .= "SELECT `entry`.`id`,
`entry`.`name`,
`entry`.`description`,
`entry`.`category_id`,
`entry`.`created`,
`entry`.`modified`,
`entryimages`.`filename`,
`entryimages`.`description`
FROM `entries` as `entry` LEFT JOIN `entryimages` ON `entryimages`.`entry_id` = `entry`.`id`
WHERE `entry`.`category_id` = $id ";
if($i < count($groups))
{
$query .= 'UNION ALL ';
}
$i++;
}
$result = mysql_query($query);
誰もがこのような動作を実現するための最良の権利が何であるかを知っていますか?
おかげで1000年
おかげで、のようなものになります! =) –