У меня есть онлайн-приложение, для которого мне нужна своего рода панель инструментов (для использования пробела).
Для операции используются три таблицы:
1.) categories: id, name
2.) entries: id, name, description, category_id, created, modified
3.) entryimages: id, filename, description, entry_id
вкл.на панели инструментов я хочу показать 4-5 записей (с миниатюрными изображениями, поэтому мне требуются объединения в таблицу entryimages и таблицу категорий) для каждой категории.
Я прочитал некоторые статьи (и темы на них), напримервот этот: http://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax-row-per-group-in-sql/
Но я все еще не понимаю, я пытался сначала извлечь все категории и для каждой категории построить запрос и с помощью «all union» прикрепить их к одной, ноэто не работает.Последняя версия кода, которую я использовал:
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