DROP TABLE IF EXISTS parents;
CREATE TABLE parents (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
title VARCHAR(20) NOT NULL DEFAULT '',
PRIMARY KEY (id)
) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
DROP TABLE IF EXISTS children;
CREATE TABLE children (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
parent_id INTEGER UNSIGNED NOT NULL,
title VARCHAR(20) NOT NULL DEFAULT '',
ts INTEGER UNSIGNED NOT NULL,
PRIMARY KEY (id)
)
CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
INSERT INTO parents
(id, title)
VALUES
(1, 'Овощи'),
(2, 'Фрукты'),
(3, 'Ягоды');
INSERT INTO children
(parent_id, title, ts)
VALUES
(1, 'огурец', 3),
(1, 'помидор', 2),
(1, 'кабачок', 1),
(1, 'морковь', 4),
(1, 'картошка', 6),
(2, 'яблоко', 6),
(2, 'груша', 1),
(2, 'арбуз', 8),
(3, 'вишня', 1);
Задача запроса - получить:
---
Овощи - Картошка
фрукты - яблоко
Ягоды - арбуз
---
... т.е. для каждого типа по одной позиции из таблицы children с максимальным значением ts