|
Модераторы: skyboy |
|
maxipub |
|
||||||
Опытный Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: 1 Всего: 1 |
Добрый день!
Есть таблички:
test_res - таблица записей, для каждой записи указан cat_id (раздел) и res_parent_id (id родительской записи, если ее нет res_parent_id == res_id). Таблица test_cat думаю объяснений не требует. Задача: для указанного res_id выбрать данные из test_res, присоединив к ним test_res.cat_name по соответствующему значению cat_id - это просто, и (а вот тут уже сложнее) test_res.cat_data, у которой test_cat.cat_id == test_res.cat_id для res_id == текущий res_parent_id для текущего res_id. Как-то так. Приведу пример: Нам нужно выбрать данные для res_id = 2, получается: res_id => 2, cat_id => 2, res_parent_id => 2, cat_name => '222', cat_data => 'www' (у строки res_id=2 мы получаем res_parent_id == 2, а для res_id=res_parent_id (res_id=2) значение cat_id == 2) А вот когда берем res_id = 3, получается: res_id => 3, cat_id => 3, res_parent_id => 1, cat_name => '333', cat_data => 'qqq' (а не 'eee', т.к. у строки res_id=3 мы получаем res_parent_id == 1, а для res_id=res_parent_id (res_id==1) значение cat_id == 1) У меня вышел такой не очень приятный запрос:
Ну или так:
Ни тот, ни другой вариант мне не нравится. Можно как-то проще? Это сообщение отредактировал(а) maxipub - 6.6.2017, 15:35 |
||||||
|
|||||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 453 |
Так?
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
maxipub |
|
|||
Опытный Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: 1 Всего: 1 |
Akina, спасибо, оно! Все "вертелось" в уме, но ни как не мог прийти к такому виду.
|
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |