Приветствую!
Есть такая табличка:
CREATE TABLE `tbl_photo` (
`id` MEDIUMINT(10) AUTO_INCREMENT NOT NULL,
`genre_id` MEDIUMINT(10) NOT NULL,
`gallery_id` MEDIUMINT(10) NOT NULL,
`article_id` MEDIUMINT(10) NOT NULL,
`filename` VARCHAR(40) NOT NULL,
PRIMARY KEY(`id`)
) ENGINE=MyISAM, DEFAULT CHARSET=utf8;
Как понятно - это фотки.
Из неё надо извлечь: 1. Одну фотку (WHERE id=n) 2. Предыдущую фотку 3. Следующую фотку
Это надо сделать одним запросом в строчку.
Я намудрил как-то так:
SELECT MAX(pr.id) AS prev ,ph.id AS now, MIN(nx.id) AS next
FROM tbl_photo AS ph LEFT JOIN tbl_photo AS pr ON pr.id < ph.id
LEFT JOIN tbl_photo AS nx ON nx.id > ph.id WHERE ph.id=12;
Подскажите мне как это сделать? Может, существует более простой способ? БД - MySQL.