Выбор "последнего" из иерархической структуры

mysql_worm

Новичок
Выбор "последнего" из иерархической структуры

Добрый день. Столкнулся с проблемой которую по-человески не позволяет решить установленная у хостера версия MySQL, не поддерживающая вложенные запросы. Из-за этого уже приличную часть вещей пришлось реализовывать черти-как. Ну не об этом, суть проблемы: есть стандартная иерархия. id, parent_id, text, date
надо выбрать по parent_id одного последнего (по дате) потомка.
Когда родитель один и заранее известен, то это элементарно:

SELECT t.id, t.text
FROM table t
WHERE t.parent_id=16 /*например*/
ORDER BY t.date DESC
LIMIT 1


Но если ситуация вида:

SELECT child.id, child.text
FROM table parents JOIN table child
ON parents.id=child.parent_id
GROUP BY parents.id
ORDER BY child.date DESC


То ничего не получается :( выбирает того потомка, который "выше" лежит в таблице.
Решение проблемы я вижу в том чтобы секцию ON изменить на что-то вида:

ON parents.id=child.parent_id AND child.id=(SELECT id FROM table WHERE parent_id=parents.id ORDER BY date DESC LIMIT 1)

но это не позволяет текущая версия MySQL (4.0.26)
Можно как-нибудь объехать БД на кривой кобыле не встраивая пост-обработку на уровне PHP?
 

Фанат

oncle terrible
Команда форума
а группировка здесь зачем?
и вообще, почему обязательно объяснять задачу заведомо нерабочим запросом? словами никак невозможно?
 

mysql_worm

Новичок
Группировка для того чтобы из всех потомков оставить только одного.
Объясняя задачу нерабочим способом я хотел упростить возможность ответа на вопрос, т.е. чтобы кто-то просто сказал "Вот эту строчку поменяй на вот эту", а не заставлять людей писать всё с нуля. Хотя я не претендую что мое решение может быть доработано до верного, но все же я показал направление в котором мыслил сам.
 

Sender

Новичок
mysql_worm

child.id=(SELECT id FROM table WHERE parent_id=parents.id ORDER BY date DESC LIMIT 1)

замени на INNER JOIN и все дела
 

mysql_worm

Новичок
Не совсем понял что вы имели ввиду, поясните, пожалуйста.
Добавить еще один JOIN с выборкой (SELECT id FROM table WHERE parent_id=parents.id ORDER BY date DESC LIMIT 1) не получится, т.к. этого 4.0.26 тоже не позволяет
 

Sender

Новичок
mysql_worm
ON parents.id=child.parent_id AND child.id=(SELECT id FROM table WHERE parent_id=parents.id ORDER BY date DESC LIMIT 1)

идентично

ON ( parents.id = child.parent_id ) INNER JOIN table as t2 ON( child.id= t2.id AND t2.parent_id=parents.id ) ORDER BY t2.date DESC LIMIT 1


как-то так мне кажется можно попробовать сделать...

-~{}~ 11.05.07 17:50:
не мучайтесь и разделите на два запроса, первым запросом соберите parent_id, вторым запросом выберите их все. а вообще у вас вроде бы как ошибка, счас еще приглянусь

-~{}~ 11.05.07 17:55:

Почитайте в мануале MySQL

Rewriting Subqueries as Joins for Earlier MySQL Versions
 

mysql_worm

Новичок
Sender,
к сожалению предложенное Вами решение не помогло. Возможно я недосказал, но мне нужен не самый последний потомок из всей таблицы, а для каждого родителя надо выбрать последнего потомка. А в Вашем решении LIMIT 1 накладывает ограничение на всю выборку, и не является идентичным для выражения ON parents.id=child.parent_id AND child.id=(SELECT id FROM table WHERE parent_id=parents.id ORDER BY date DESC LIMIT 1) где LIMIT накладывается на подзапрос.

Разбить на 2 запроса не получится. Первым запросом надо выбрать набор parent_id, а затем, для каждой parent_id надо будет выбрать потомка, с помощью запроса приведенного мною в первом сообщении, так что в сумме запросов получится не 2, а Число_родителей+1. Данную операцию мне надо провести для 12ти таблиц (всё с иерархической структурой, но разным довеском и разными дополнительными условиями, которые будут накладываться на выборку). Учитывая оживленность использования скрипта, который это делает, думаю хостер не будет сильно рад нагрузке, которая получится в результате такого решения.

Указанный Вами раздел мануала прочитал, но не обнаружил там информации которая помогла бы решить задачу. Фактически мой вопрос и сводится к тому: Как переписать select отказавшись от подзапроса
-~{}~ 11.05.07 16:22:
да, а где у меня ошибка?
 

Фанат

oncle terrible
Команда форума
надо выбрать по parent_id одного последнего (по дате) потомка.
Возможно я недосказал, но мне нужен не самый последний потомок
вот это-то и огорчает.
человек старается, вникает в вопрос, пишет запрос.
а ему на это "чувак, извини, но мне совсем не это надо было"

я понимаю, что флейм, и что ноль конструктива.
но обидно же.
 

Sender

Новичок
mysql_worm
там в разделе и написано как избавиться от подзапросов


не накладывайте LIMIT, сортируйте и накладывайте HAVING или что-то подобное


вообще, хорошо бы увидеть структуру/дамп таблиц с частью данных и пример по этим данным что должно получиться по результатам требуемого вам запроса
 

Фанат

oncle terrible
Команда форума
Вообще, по хорошему, если все такое иерархическое и нагруженное, то структурку таблиц пересмотреть не помешало бы.
к примеру, айди темы иметь в каждом сообщении форума.
чтобы не париться каждый раз с его выборкой.
 

mysql_worm

Новичок
Автор оригинала: Фанат
вот это-то и огорчает.
человек старается, вникает в вопрос, пишет запрос.
а ему на это "чувак, извини, но мне совсем не это надо было"

я понимаю, что флейм, и что ноль конструктива.
но обидно же.
Перечитав несколько раз свой вопрос мне показалось что я довольно понятно обрисовал задачу, т.к. выбрать последнего потомка из всей таблицы можно вообще без всяких join'ов :( но впредь буду фомулировать четче, спасибо за критику.

Дамп структуры:
CREATE TABLE `table` (
`id` int(11) unsigned NOT NULL auto_increment,
`parent_id` int(11) unsigned default NULL,
`text` varchar(255) default '',
`date` int(11) unsigned default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

Дамп данных:

INSERT INTO `table` VALUES (1,NULL,'Россия',1);
INSERT INTO `table` VALUES (2,NULL,'Великобритания',2);
INSERT INTO `table` VALUES (3,1,'Москва',3);
INSERT INTO `table` VALUES (4,1,'Самара',4);
INSERT INTO `table` VALUES (5,3,'Кремль',4);
INSERT INTO `table` VALUES (6,3,'ЦДХ',5);
INSERT INTO `table` VALUES (7,2,'Лондон',5);
INSERT INTO `table` VALUES (8,2,'Манчестер',6);


Хочу в результате запроса:
id text
4 Самара
6 ЦДХ
8 Манчестер
 

Sender

Новичок
mysql_worm
ошибка.
я могу и ошибаться, не было необходимости крутить такие витражи, но в подзапросе видны только таблицы, которые только в этом подзапросе учавствуют
например: ( SELECT id FROM table WHERE parent_id=parents.id ORDER BY date DESC LIMIT 1 ) здесь таблица parents не определена.

поправьте если не прав...
 

mysql_worm

Новичок
Автор оригинала: Sender
mysql_worm
ошибка.
я могу и ошибаться, не было необходимости крутить такие витражи, но в подзапросе видны только таблицы, которые только в этом подзапросе учавствуют
например: ( SELECT id FROM table WHERE parent_id=parents.id ORDER BY date DESC LIMIT 1 ) здесь таблица parents не определена.

поправьте если не прав...
У меня на локалхосте MySQL 4.1.12 следующий запрос выполняется нормально и возвращает желаемый результат:

SELECT child.id, child.text
FROM table parents JOIN table child
ON parents.id=child.parent_id
AND child.id=(SELECT id FROM table WHERE parent_id=parents.id ORDER BY date DESC LIMIT 1)
 

mysql_worm

Новичок
Автор оригинала: Фанат
...и снова высосал данные из пальца
Быть может, но специалисту их вполне достаточно для решения задачи. Поверьте, основная таблица такая же, только в ней еще с пяток "нагрузочных" столбцов и даты реальные. Зачем загружать участников форума лишней информацией, когда лучше сконцентрироваться на основном?
 

mysql_worm

Новичок
Автор оригинала: Фанат
где-то я это уже слышал...
Мне кажется беседа перетекает не в то русло и превращается в откровенный флейм, а не ветку форума профессионалов...
 

Фанат

oncle terrible
Команда форума
специалисту их вполне достаточно для решения задачи
ты не можешь быть уверен в том, чего достаточно специалисту, а чего - нет.

у задачи может быть много вариантов решения, и выбранное тобой может быть не самым оптимальным.
ограничивать область решений своим собственным представлением - мягко говоря, невежливо.

в конце концов, если так уж хочется выглядеть со всех сторон правильным, то правила этого форума четко и недвусмысленно запрещают приводить примерный код и данные.

Возможно, я и ошибаюсь.
возможно, реальные данные и запросы ничего не изменят в постановке вопроса.
И моя требовательность покажется дурацкими придирками.

Но возможно и другое. что увидев реальные данные и осмысленную задачу, 10 человек хором воскликнут, что задачастандартная ,и решается она совсем по-другому.
 

mysql_worm

Новичок
Вжимаюсь в стул под давлением Вашего интелекта

Точный дамп таблицы:


CREATE TABLE `locations` (
`location_id` int(11) unsigned NOT NULL auto_increment,
`parent_id` int(11) unsigned default NULL,
`country_id` int(11) unsigned NOT NULL default '0',
`name` varchar(255) default NULL,
`user_id` int(11) unsigned default NULL,
`date` int(11) unsigned default NULL,
PRIMARY KEY (`location_id`),
KEY `IX_PC` (`parent_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

INSERT INTO `locations` VALUES (1,0,73,'Москва',2,1168680973);
INSERT INTO `locations` VALUES (2,0,73,'Питер',2,1168681122);
INSERT INTO `locations` VALUES (3,12,73,'Новопеределкино',2,1168681290);
INSERT INTO `locations` VALUES (4,10,73,'Красная Поляна',2,1168681564);
INSERT INTO `locations` VALUES (5,10,73,'Домбай',2,1168681392);
INSERT INTO `locations` VALUES (6,10,73,'Приэльбрусье',2,1168681692);
INSERT INTO `locations` VALUES (7,56,73,'Иркутск',2,1168681219);
INSERT INTO `locations` VALUES (8,29,73,'Самара',2,1168682104);
INSERT INTO `locations` VALUES (9,57,73,'Петропавловск-Камчатский',2,1168682412);
INSERT INTO `locations` VALUES (10,0,73,'Кавказ',2,1168682792);
INSERT INTO `locations` VALUES (11,0,73,'Урал',2,1168681892);
INSERT INTO `locations` VALUES (12,0,73,'Подмосковье',2,1168682748);
INSERT INTO `locations` VALUES (14,12,73,'Дзержинский',2,1168682209);
INSERT INTO `locations` VALUES (15,29,73,'Кировск',2,1168682906);
INSERT INTO `locations` VALUES (16,56,73,'Красноярск',2,1168682877);
INSERT INTO `locations` VALUES (17,57,73,'Хабаровск',2,1168682904);
INSERT INTO `locations` VALUES (18,29,73,'Уфа',2,1168683359);
INSERT INTO `locations` VALUES (19,57,73,'Южно-Сахалинск',2,1168684284);
INSERT INTO `locations` VALUES (20,57,73,'Владивосток',2,1168682749);
INSERT INTO `locations` VALUES (21,11,73,'Челябинск',2,1168682472);
INSERT INTO `locations` VALUES (22,29,73,'Пенза',2,1168684887);
INSERT INTO `locations` VALUES (23,56,73,'Новокузнецк',2,1168684400);
INSERT INTO `locations` VALUES (24,11,73,'Екатеринбург',2,1168683736);
INSERT INTO `locations` VALUES (25,29,73,'Казань',2,1168683264);
INSERT INTO `locations` VALUES (26,29,73,'Киров',2,1168682292);
INSERT INTO `locations` VALUES (27,29,73,'Нижний Новгород',2,1168683704);
INSERT INTO `locations` VALUES (28,29,73,'Саратов',2,1168684572);
INSERT INTO `locations` VALUES (29,0,73,'Поволжье',2,1168682500);
INSERT INTO `locations` VALUES (30,29,73,'Ульяновск',2,1168686592);
INSERT INTO `locations` VALUES (31,29,73,'Оренбург',2,1168685442);
INSERT INTO `locations` VALUES (32,29,73,'Ижевск',2,1168684946);
INSERT INTO `locations` VALUES (33,29,73,'Пермь',2,1168686680);
INSERT INTO `locations` VALUES (34,0,73,'Центр',2,1168685808);
INSERT INTO `locations` VALUES (35,34,73,'Белгород',2,1168682832);
INSERT INTO `locations` VALUES (36,34,73,'Воронеж',2,1168686952);
INSERT INTO `locations` VALUES (37,34,73,'Рязань',2,1168682952);
INSERT INTO `locations` VALUES (38,34,73,'Тверь',2,1168684085);
INSERT INTO `locations` VALUES (39,34,73,'Ярославль',2,1168684060);
INSERT INTO `locations` VALUES (40,0,73,'Северо-Запад',2,1168685511);
INSERT INTO `locations` VALUES (41,40,73,'Архангельск',2,1168688672);
INSERT INTO `locations` VALUES (42,40,73,'Вологда',2,1168685343);
INSERT INTO `locations` VALUES (43,40,73,'Калининград',2,1168686798);
INSERT INTO `locations` VALUES (44,40,73,'Мурманск',2,1168688360);
INSERT INTO `locations` VALUES (45,40,73,'Новгород',2,1168688932);
INSERT INTO `locations` VALUES (46,40,73,'Петрозаводск',2,1168685697);
INSERT INTO `locations` VALUES (47,40,73,'Псков',2,1168683828);
INSERT INTO `locations` VALUES (48,40,73,'Сыктывкар',2,1168689957);
INSERT INTO `locations` VALUES (49,0,73,'Юг',2,1168685928);
INSERT INTO `locations` VALUES (50,49,73,'Астрахань',2,1168689808);
INSERT INTO `locations` VALUES (51,49,73,'Волгоград',2,1168690042);
INSERT INTO `locations` VALUES (52,49,73,'Краснодар',2,1168686096);
INSERT INTO `locations` VALUES (53,49,73,'Ростов-на-Дону',2,1168686980);
INSERT INTO `locations` VALUES (54,49,73,'Ставрополь',2,1168685244);
INSERT INTO `locations` VALUES (55,11,73,'Тюмень',2,1168691484);
INSERT INTO `locations` VALUES (56,0,73,'Сибирь',2,1168690692);
INSERT INTO `locations` VALUES (57,0,73,'Дальний Восток',2,1168689864);
INSERT INTO `locations` VALUES (58,56,73,'Барнаул',2,1168691850);
INSERT INTO `locations` VALUES (59,56,73,'Кемерово',2,1168689608);
INSERT INTO `locations` VALUES (60,56,73,'Новосибирск',2,1168684686);
INSERT INTO `locations` VALUES (61,56,73,'Омск',2,1168687332);
INSERT INTO `locations` VALUES (62,56,73,'Томск',2,1168688112);
INSERT INTO `locations` VALUES (63,56,73,'Чита',2,1168691084);
INSERT INTO `locations` VALUES (64,1,73,'Центральный округ',2,1168692195);
INSERT INTO `locations` VALUES (65,1,73,'Северный округ',2,1168692632);
INSERT INTO `locations` VALUES (66,1,73,'Северо-Восточный округ',2,1168687682);
INSERT INTO `locations` VALUES (67,1,73,'Восточный округ',2,1168690560);
INSERT INTO `locations` VALUES (68,1,73,'Юго-Восточный округ',2,1168692048);
INSERT INTO `locations` VALUES (69,1,73,'Южный округ',2,1168689020);
INSERT INTO `locations` VALUES (70,1,73,'Юго-Западный округ',2,1168693281);
INSERT INTO `locations` VALUES (71,1,73,'Западный округ',2,1168686112);
INSERT INTO `locations` VALUES (72,1,73,'Северно-Западный округ',2,1168692436);
INSERT INTO `locations` VALUES (73,1,73,'Зеленоградский округ',2,1168690944);
INSERT INTO `locations` VALUES (74,64,73,'Арбат',2,1168692910);
INSERT INTO `locations` VALUES (75,64,73,'Басманный',2,1168691078);
INSERT INTO `locations` VALUES (76,64,73,'Замоскворечье',2,1168687767);
INSERT INTO `locations` VALUES (77,64,73,'Красносельский',2,1168689760);
INSERT INTO `locations` VALUES (78,64,73,'Мещанский',2,1168687799);
INSERT INTO `locations` VALUES (79,64,73,'Пресненский',2,1168694364);
INSERT INTO `locations` VALUES (80,64,73,'Таганский',2,1168688139);
INSERT INTO `locations` VALUES (81,64,73,'Тверской',2,1168691592);
INSERT INTO `locations` VALUES (82,64,73,'Хамовники',2,1168696911);
INSERT INTO `locations` VALUES (83,64,73,'Якиманка',2,1168688090);
INSERT INTO `locations` VALUES (84,65,73,'Аэропорт',2,1168688013);
INSERT INTO `locations` VALUES (85,65,73,'Беговой',2,1168686252);
INSERT INTO `locations` VALUES (86,65,73,'Бескудниковский',2,1168689122);
INSERT INTO `locations` VALUES (87,65,73,'Войковский',2,1168693090);
INSERT INTO `locations` VALUES (88,65,73,'Восточное Дегунино',2,1168687143);
INSERT INTO `locations` VALUES (89,65,73,'Головинский',2,1168692496);
INSERT INTO `locations` VALUES (90,65,73,'Дмитровский',2,1168695922);
INSERT INTO `locations` VALUES (91,65,73,'Западное Дегунино',2,1168690152);
INSERT INTO `locations` VALUES (92,65,73,'Коптево',2,1168691348);
INSERT INTO `locations` VALUES (93,65,73,'Левобережный',2,1168687140);
INSERT INTO `locations` VALUES (94,65,73,'Молжаниновский',2,1168696044);
INSERT INTO `locations` VALUES (95,65,73,'Савеловский',2,1168689158);
INSERT INTO `locations` VALUES (96,65,73,'Сокол',2,1168687442);
INSERT INTO `locations` VALUES (97,65,73,'Тимирязевский',2,1168690200);
INSERT INTO `locations` VALUES (98,65,73,'Ховрино',2,1168698543);
INSERT INTO `locations` VALUES (99,65,73,'Хорошевский',2,1168695296);
INSERT INTO `locations` VALUES (100,66,73,'Алексеевский',2,1168694949);
INSERT INTO `locations` VALUES (101,66,73,'Алтуфьевский',2,1168690192);
INSERT INTO `locations` VALUES (102,66,73,'Бабушкинский',2,1168692407);
INSERT INTO `locations` VALUES (103,66,73,'Бибирево',2,1168692828);
INSERT INTO `locations` VALUES (104,66,73,'Бутырский',2,1168700259);
INSERT INTO `locations` VALUES (105,66,73,'Лианозово',2,1168695144);
INSERT INTO `locations` VALUES (106,66,73,'Лосиноостровский',2,1168687407);
INSERT INTO `locations` VALUES (107,66,73,'Марфино',2,1168700720);
INSERT INTO `locations` VALUES (108,66,73,'Марьина роща',2,1168695130);
INSERT INTO `locations` VALUES (109,66,73,'Останкинский',2,1168692024);
INSERT INTO `locations` VALUES (110,66,73,'Отрадное',2,1168702265);
INSERT INTO `locations` VALUES (111,66,73,'Ростокино',2,1168702132);
INSERT INTO `locations` VALUES (112,66,73,'Свиблово',2,1168693335);
INSERT INTO `locations` VALUES (113,66,73,'Северное Медведково',2,1168689192);
INSERT INTO `locations` VALUES (114,66,73,'Северный',2,1168703053);
INSERT INTO `locations` VALUES (115,66,73,'Южное Медведково',2,1168701996);
INSERT INTO `locations` VALUES (116,66,73,'Ярославский',2,1168703102);
INSERT INTO `locations` VALUES (117,67,73,'Богородское',2,1168688332);
INSERT INTO `locations` VALUES (118,67,73,'Вешняки',2,1168691673);
INSERT INTO `locations` VALUES (119,67,73,'Восточное Измайлово',2,1168697430);
INSERT INTO `locations` VALUES (120,67,73,'Восточный',2,1168691383);
INSERT INTO `locations` VALUES (121,67,73,'Гольяново',2,1168699512);
INSERT INTO `locations` VALUES (122,67,73,'Ивановское',2,1168696280);
INSERT INTO `locations` VALUES (123,67,73,'Измайлово',2,1168694090);
INSERT INTO `locations` VALUES (124,67,73,'Косино-Ухтомский',2,1168698873);
INSERT INTO `locations` VALUES (125,67,73,'Метрогородок',2,1168690836);
INSERT INTO `locations` VALUES (126,67,73,'Новогиреево',2,1168704542);
INSERT INTO `locations` VALUES (127,67,73,'Новокосино',2,1168689108);
INSERT INTO `locations` VALUES (128,67,73,'Перово',2,1168691206);
INSERT INTO `locations` VALUES (129,67,73,'Преображенское',2,1168689112);
INSERT INTO `locations` VALUES (130,67,73,'Северное Измайлово',2,1168693821);
INSERT INTO `locations` VALUES (131,67,73,'Соколиная гора',2,1168688722);
INSERT INTO `locations` VALUES (132,67,73,'Сокольники',2,1168693892);
INSERT INTO `locations` VALUES (133,67,73,'Кожухово',2,1168696500);
INSERT INTO `locations` VALUES (134,68,73,'Выхино-Жулебино',2,1168703668);
INSERT INTO `locations` VALUES (135,68,73,'Капотня',2,1168690440);
INSERT INTO `locations` VALUES (136,68,73,'Кузьминки',2,1168707387);
INSERT INTO `locations` VALUES (137,68,73,'Лефортово',2,1168706360);
INSERT INTO `locations` VALUES (138,68,73,'Люблино',2,1168692026);
INSERT INTO `locations` VALUES (139,68,73,'Марьино',2,1168701216);
INSERT INTO `locations` VALUES (140,68,73,'Некрасовка',2,1168702615);
INSERT INTO `locations` VALUES (141,68,73,'Нижегородский',2,1168700812);
INSERT INTO `locations` VALUES (142,68,73,'Печатники',2,1168701096);
INSERT INTO `locations` VALUES (143,68,73,'Рязанский',2,1168698684);
INSERT INTO `locations` VALUES (144,68,73,'Текстильщики',2,1168697523);
INSERT INTO `locations` VALUES (145,68,73,'Южнопортовый',2,1168690584);
INSERT INTO `locations` VALUES (146,69,73,'Бирюлево Восточное',2,1168706457);
INSERT INTO `locations` VALUES (147,69,73,'Бирюлево Западное',2,1168709262);
INSERT INTO `locations` VALUES (148,69,73,'Братеево',2,1168701666);
INSERT INTO `locations` VALUES (149,69,73,'Даниловский',2,1168698108);
INSERT INTO `locations` VALUES (150,69,73,'Донской',2,1168691371);
INSERT INTO `locations` VALUES (151,69,73,'Зябликово',2,1168709742);
INSERT INTO `locations` VALUES (152,69,73,'Москворечье-Сабурово',2,1168694080);
INSERT INTO `locations` VALUES (153,69,73,'Нагатино-Садовники',2,1168694776);
INSERT INTO `locations` VALUES (154,69,73,'Нагатинский затон',2,1168691196);
INSERT INTO `locations` VALUES (155,69,73,'Нагорный',2,1168706356);
INSERT INTO `locations` VALUES (156,69,73,'Орехово-Борисово сев.',2,1168705902);
INSERT INTO `locations` VALUES (157,69,73,'Орехово-Борисово юж.',2,1168703724);
INSERT INTO `locations` VALUES (158,69,73,'Царицыно',2,1168712035);
INSERT INTO `locations` VALUES (159,69,73,'Чертаново северное',2,1168695802);
INSERT INTO `locations` VALUES (160,69,73,'Чертаново центральное',2,1168692876);
INSERT INTO `locations` VALUES (161,69,73,'Чертаново южное',2,1168694232);
INSERT INTO `locations` VALUES (162,70,73,'Академический',2,1168703815);
INSERT INTO `locations` VALUES (163,70,73,'Гагаринский',2,1168707846);
INSERT INTO `locations` VALUES (164,70,73,'Зюзино',2,1168710132);
INSERT INTO `locations` VALUES (165,70,73,'Коньково',2,1168713264);
INSERT INTO `locations` VALUES (166,70,73,'Котловка',2,1168692507);
INSERT INTO `locations` VALUES (167,70,73,'Ломоносовский',2,1168693906);
INSERT INTO `locations` VALUES (168,70,73,'Обручевский',2,1168712021);
INSERT INTO `locations` VALUES (169,70,73,'Северное Бутово',2,1168705992);
INSERT INTO `locations` VALUES (170,70,73,'Теплый стан',2,1168694988);
INSERT INTO `locations` VALUES (171,70,73,'Черемушки',2,1168708332);
INSERT INTO `locations` VALUES (172,70,73,'Южное Бутово',2,1168708494);
INSERT INTO `locations` VALUES (173,70,73,'Ясенево',2,1168696960);
INSERT INTO `locations` VALUES (174,71,73,'Внуково',2,1168693421);
INSERT INTO `locations` VALUES (175,71,73,'Дорогомилово',2,1168700106);
INSERT INTO `locations` VALUES (176,71,73,'Крылатское',2,1168698642);
INSERT INTO `locations` VALUES (177,71,73,'Кунцево',2,1168700680);
INSERT INTO `locations` VALUES (178,71,73,'Можайский',2,1168705395);
INSERT INTO `locations` VALUES (179,71,73,'Ново-Переделкино',2,1168701440);
INSERT INTO `locations` VALUES (180,71,73,'Очаково-Матвеевское',2,1168693859);
INSERT INTO `locations` VALUES (181,71,73,'Проспект Вернадского',2,1168695372);
INSERT INTO `locations` VALUES (182,71,73,'Раменки',2,1168711924);
INSERT INTO `locations` VALUES (183,71,73,'Солнцево',2,1168709002);
INSERT INTO `locations` VALUES (184,71,73,'Тропарево-Никулино',2,1168693419);
INSERT INTO `locations` VALUES (185,71,73,'Филевский парк',2,1168695512);
INSERT INTO `locations` VALUES (186,71,73,'Фили-Давыдково',2,1168705212);
INSERT INTO `locations` VALUES (187,72,73,'Куркино',2,1168706088);
INSERT INTO `locations` VALUES (188,72,73,'Митино',2,1168710338);
INSERT INTO `locations` VALUES (189,72,73,'Покровское-Стрешнево',2,1168704104);
INSERT INTO `locations` VALUES (190,72,73,'Северное Тушино',2,1168716702);
INSERT INTO `locations` VALUES (191,72,73,'Строгино',2,1168714422);
INSERT INTO `locations` VALUES (192,72,73,'Хорошево-Мневники',2,1168717846);
INSERT INTO `locations` VALUES (193,72,73,'Щукино',2,1168710744);
INSERT INTO `locations` VALUES (194,72,73,'Южное Тушино',2,1168713023);
INSERT INTO `locations` VALUES (195,73,73,'Матушкино-Савелки',2,1168716682);
INSERT INTO `locations` VALUES (196,73,73,'Панфиловский',2,1168700682);
INSERT INTO `locations` VALUES (197,73,73,'Крюково',2,1168717640);
INSERT INTO `locations` VALUES (198,12,73,'Одинцово',2,1168699113);
INSERT INTO `locations` VALUES (199,12,73,'Монино',2,1168708314);
INSERT INTO `locations` VALUES (200,12,73,'Жуковский',2,1168712433);
INSERT INTO `locations` VALUES (201,29,73,'Новочебоксарск',2,1168713592);
INSERT INTO `locations` VALUES (202,12,73,'Долгопрудный',2,1168694661);
INSERT INTO `locations` VALUES (203,12,73,'Люберцы',2,1168698568);
INSERT INTO `locations` VALUES (204,12,73,'Калуга',2,1168711242);
INSERT INTO `locations` VALUES (205,12,73,'Подольск',2,1168700580);
INSERT INTO `locations` VALUES (207,29,73,'Саров',2,1168706622);
INSERT INTO `locations` VALUES (208,12,73,'Домодедово',2,1168711486);
INSERT INTO `locations` VALUES (210,12,73,'Электросталь',2,1168695282);
INSERT INTO `locations` VALUES (211,56,73,'Абакан',2,1168695560);
INSERT INTO `locations` VALUES (212,0,14,'Минск',3,1168776171);
INSERT INTO `locations` VALUES (213,0,91,'Одесса',3,1168806066);
INSERT INTO `locations` VALUES (215,34,73,'Брянск',2,1168698348);
INSERT INTO `locations` VALUES (216,0,102,'Таллинн',3,1168883418);
INSERT INTO `locations` VALUES (217,0,2,'Вена',12,1168924444);
INSERT INTO `locations` VALUES (218,56,73,'Бийск',2,1168699692);
INSERT INTO `locations` VALUES (219,12,73,'Красногорск',2,1168707378);
INSERT INTO `locations` VALUES (220,12,73,'Мытищи',2,1168701568);
INSERT INTO `locations` VALUES (221,0,42,'Ванкувер',5,1168791617);
INSERT INTO `locations` VALUES (222,12,73,'Зеленоград',2,1168705287);
INSERT INTO `locations` VALUES (223,29,73,'Йошкар-Ола',2,1168717386);


Простите что так много, уменьшил шрифт как мог, но Вы хотели всё.

Осмысленная задача: хочу видеть страничку, на которой будет показанно кто и какое место добавил как подрайон к тому, которое добавил я. Причем если было добавленно несколько, то хочу видеть последнее.

Ждем хора :)
 

Фанат

oncle terrible
Команда форума
при таком объёме дерева следует задуматься о другой структуре его хранения.

а как выглядит признак "район, которые добавил я"?

-~{}~ 11.05.07 19:06:

вот, свежий пример:
http://phpclub.ru/talk/showthread.php?s=&threadid=99166
товарищ тоже, свято уверен, что лучше всех знает, что ему нужно.

И такие здесь - четверо из пяти!
 
Сверху