Posiadam tabele (params) w której składuje parametry stron.
CREATE TABLE IF NOT EXISTS `params` ( `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, `pageid` int(10) UNSIGNED NOT NULL, `date` date NOT NULL, `value` bigint(20) NOT NULL, `type` int(10) UNSIGNED NOT NULL COMMENT '0-gsite,1-pr,2-ylinks,3-ylinksdomain', PRIMARY KEY (`id`), UNIQUE KEY `pageid` (`pageid`,`date`,`type`) ) ENGINE=InnoDB;
Każdej stronie może odpowiadać żaden lub jeden rekord. Tabela ze stronami:
CREATE TABLE IF NOT EXISTS `pages` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `url` varchar(255) collate utf8_polish_ci NOT NULL, `update` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB ;
Cały problem polega na tym aby wyświetlić dane z tabeli pages i dołączyć wartość ostatniego (najmłodszego) rekordu z tabeli params i wyświetlić jego wartość sortując po pages.update oraz warunku złączenia
pages.id = params.pageid AND params.type = 0
Próbowałem już sposobów z MAX() oraz GROPU BY jednak zawsze otrzymywałem totalne bzdury. W tabeli params będzie kilkaset k rekordów więc trzeba mieć na uwadze szybkość działania.
Z góry dziękuje za pomoc