dmvlad
Новичок
Помогите, пожалуйста, разобраться с сортировкой
Есть такая таблица
Хочу ее отсортировать по логике, делаю так
но выходит не то
Надо чтобы было так
Есть такая таблица
Код:
CREATE TABLE IF NOT EXISTS `tag` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`title` varchar(50) CHARACTER SET utf8 NOT NULL,
`sort` tinyint(4) NOT NULL DEFAULT '0',
`parent_id` int(9) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;
--
-- Дамп данных таблицы `tag`
--
INSERT INTO `tag` (`id`, `title`, `sort`, `parent_id`) VALUES
(1, 'Россия', 1, 0),
(2, 'Балашиха', 1, 4),
(3, 'Германия', 2, 0),
(4, 'Московская область', 1, 1),
(5, 'Тульская область', 2, 1),
(6, 'Химки', 2, 4),
(7, 'Алексин', 1, 5),
(8, 'Тула', 1, 5),
(9, 'Мюнхен', 1, 3);
Код:
SELECT t1.sort AS sort1, t2.sort AS sort2, t3.sort AS sort3, t1.title AS title1, t2.title AS title2, t3.title AS title3
FROM `tag` t3
LEFT JOIN tag t2 ON ( t3.parent_id = t2.id )
LEFT JOIN tag t1 ON ( t2.parent_id = t1.id )
ORDER BY sort1, sort2, sort3, title3
LIMIT 0 , 30
Код:
Россия
Германия
Московская область
Тульская область
Мюнхен
Балашиха
Химки
Алексин
Тула
Код:
Россия
Московская область
Балашиха
Химки
Тульская область
Алексин
Тула
Германия
Мюнхен