Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Łączenie tabel, max i group by
wlamywacz
post
Post #1





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


Witam

Posiadam tabele (params) w której składuje parametry stron.
  1. CREATE TABLE IF NOT EXISTS `params` (
  2. `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `pageid` int(10) UNSIGNED NOT NULL,
  4. `date` date NOT NULL,
  5. `value` bigint(20) NOT NULL,
  6. `type` int(10) UNSIGNED NOT NULL COMMENT '0-gsite,1-pr,2-ylinks,3-ylinksdomain',
  7. PRIMARY KEY (`id`),
  8. UNIQUE KEY `pageid` (`pageid`,`date`,`type`)
  9. ) ENGINE=InnoDB;

Każdej stronie może odpowiadać żaden lub jeden rekord. Tabela ze stronami:
  1. CREATE TABLE IF NOT EXISTS `pages` (
  2. `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `url` varchar(255) collate utf8_polish_ci NOT NULL,
  4. `update` datetime NOT NULL,
  5. PRIMARY KEY (`id`)
  6. ) 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
  1. 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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.09.2025 - 06:43