Я храню связанные списки данных в записях, которые выглядят так:
CREATE TABLE IF NOT EXISTS `data_nodes` (
`record_id` int(11) NOT NULL,
`prev_node` int(11) NOT NULL,
`data` varchar(200) NOT NULL,
PRIMARY KEY (`record_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
где prev_node - это идентификатор_записи предыдущего элемента в списке или 0, если мы находимся на первом элементе в списке.
Типичный список может выглядеть примерно так:
record_id prev_node data
--------- --------- ----
1 0 first item
12 1 second item
27 12 third item
Я использую модуль MySQL в Ruby, и я хотел бы сделать следующее: учитывая номер записи последнего элемента в списке, загрузить весь список в одном запросе. (например, с учетом идентификатора записи 27, вернуть набор результатов, который содержит «первый элемент», «второй элемент», «третий элемент»)
Можно ли это сделать?
Спасибо.