Mam taką tabelę
CREATE TABLE `sk_cms_albums_list` ( `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id kategorii', `url` varchar(100) collate utf8_polish_ci NOT NULL COMMENT 'unikalny adres', `title` mediumtext collate utf8_polish_ci NOT NULL COMMENT 'tytuł', `metaTitle` mediumtext collate utf8_polish_ci COMMENT 'meta title', `metaDescription` mediumtext collate utf8_polish_ci COMMENT 'meta description', `metaKeywords` mediumtext collate utf8_polish_ci COMMENT 'meta keywords', `gid` int(10) UNSIGNED NOT NULL DEFAULT '0', `order` int(11) NOT NULL DEFAULT '0' COMMENT 'kolejność', `parent` int(10) UNSIGNED NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `UNIQUE` (`url`), KEY `INDEX` (`parent`), KEY `gid` (`gid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci COMMENT='Albumy zdjęć na stronie' AUTO_INCREMENT=17 ;
w której mam listę albumów oraz
ORAZ
CREATE TABLE `sk_cms_albums_photos` ( `id` int(11) NOT NULL AUTO_INCREMENT, `aid` int(11) NOT NULL DEFAULT '0', `url` varchar(100) collate utf8_polish_ci NOT NULL, `dir` mediumtext collate utf8_polish_ci COMMENT 'odnośnik pliku na serwerze', `file` varchar(100) collate utf8_polish_ci NOT NULL COMMENT 'plik na serwerze', `title` mediumtext collate utf8_polish_ci COMMENT 'tytuł zdjęcia', `description` mediumtext collate utf8_polish_ci COMMENT 'opis zdjęcia', `metaTitle` mediumtext collate utf8_polish_ci COMMENT 'meta tytuł', `metaKeywords` mediumtext collate utf8_polish_ci COMMENT 'meta słowa kluczowe', `metaDescription` mediumtext collate utf8_polish_ci COMMENT 'meta opis', `order` int(11) NOT NULL, `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `file` (`file`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=184 ;
gdzie są zdjęcia albumów. Relacje są `sk_cms_albums_photos`.`aid` = `sk_cms_albums_list`.`id`
Każde zdjęcie w każdym albumie po dodaniu dostaje kolejność (order == 1), a inne są o jeden większe.
SELECT `a`.`url`, `ap`.`title`, `ap`.`dir`, `ap`.`id` AS `pid` FROM `sk_cms_albums_photos` AS `ap` LEFT JOIN `sk_cms_albums_list` AS `a` ON `a`.`id` = `ap`.`aid` WHERE `ap`.`order` = 1 ORDER BY `ap`.`date` DESC LIMIT 3
za pomocą tego zapytania pobieram wszystkie albumy, w których kolejność == 1 i są najnowsze.
Chciałbym za pomocą jednego zapytania wyciągnąć najnowsze zdjęcie z każdego albumu. Wymyśliłem takie zapytanie:
SELECT MAX(`p`.`date`) AS `d` , `p`.* FROM `sk_cms_albums_photos` AS `p` GROUP BY `p`.`aid` ORDER BY `d` DESC
ale nie działa - bardzo proszę o pomoc