|
|
|
Прошу помощи с составлением запроса
|
|||
|---|---|---|---|
|
#18+
День добрый, товарищи! Имеется таблица городов и регионов, имеющая вид: id name parent0 Россия NULL1 Московская обл 02 Москва 13 Можайский 14 Можайск 3......... Собственно, вопрос: как одним запросом, указав id верхнего региона, получить выборку всех его дочерних регионов до 4-ого уровня вложенности включительно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2014, 12:57:15 |
|
||
|
Прошу помощи с составлением запроса
|
|||
|---|---|---|---|
|
#18+
Mailz, 4 раза приджойнить таблицу к себе по условию parenttable.id=table.parent ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2014, 16:42:49 |
|
||
|
Прошу помощи с составлением запроса
|
|||
|---|---|---|---|
|
#18+
tanglir, тогда показывается лишь 4-ый уровень вложенности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2014, 12:29:10 |
|
||
|
Прошу помощи с составлением запроса
|
|||
|---|---|---|---|
|
#18+
Mailztanglir, тогда показывается лишь 4-ый уровень вложенности делай LEFT JOIN. Вообще, в принципе эту задачу на SQL не решить, нужны конструкции типа CONNECT BY (рекурсивные запросы), но их MySQL не поддерживает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2014, 17:50:22 |
|
||
|
Прошу помощи с составлением запроса
|
|||
|---|---|---|---|
|
#18+
Mailztanglir, тогда показывается лишь 4-ый уровень вложенности(четверной джойн) UNION ALL (тройной джойн) и так далее Ну и см. выше ответ мастерзива. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 12:57:09 |
|
||
|
Прошу помощи с составлением запроса
|
|||
|---|---|---|---|
|
#18+
Mailz, Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 14:45:26 |
|
||
|
Прошу помощи с составлением запроса
|
|||
|---|---|---|---|
|
#18+
Mailz, Для дерева можно сделать вспомогательную таблицу с парами путей (child-parent) от каждого нижнего узла наверх и потом достаточно простыми запросами решаются все вопросы по структуре. Тем более я так понимаю информация по регионам условно-статическая. Имеем: 0 Россия NULL 1 Московская обл 0 2 Москва 1 3 Можайский 1 4 Можайск Делаем пары на id соотв. записей (с глубиной или типом объекта): (чтобы было понятней - я названия регионов тут указываю - вносятся просто id записей) 3 Можайск-Можайский 2 Можайск-Москва 1 Можайск-Московская обл 0 Можайск-Россия И аналогично от всех нижних регионов наверх. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2014, 03:48:35 |
|
||
|
Прошу помощи с составлением запроса
|
|||
|---|---|---|---|
|
#18+
Добрый день! Прошу помощи в составлении запроса. Структура Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Таблица orders - заказы Таблица orders_log - отклики менеджеров на заказы Необходимо получить все заказы, которые создал пользователь(owner_id) с ID != 6, на которые он не отзывался (user_id != 6) Код: sql 1. Пробовал и с условием на джой и через вложенный запрос. В результате должна вернуться одна запись из таблицы orders с ID - 3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 16:21:49 |
|
||
|
Прошу помощи с составлением запроса
|
|||
|---|---|---|---|
|
#18+
SELECT * FROM `orders` LEFT JOIN orders_log ON orders.id = orders_log.`order_id` AND orders_log.user_id =6 WHERE count_completed < all_count AND owner_id !=6 AND orders_log.user_id IS NULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 17:10:28 |
|
||
|
Прошу помощи с составлением запроса
|
|||
|---|---|---|---|
|
#18+
Действительно! Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 17:19:13 |
|
||
|
Прошу помощи с составлением запроса
|
|||
|---|---|---|---|
|
#18+
tanglirMailztanglir, тогда показывается лишь 4-ый уровень вложенности(четверной джойн) UNION ALL (тройной джойн) и так далее Ну и см. выше ответ мастерзива. можно и без джоинов...занимался таким :) фильтровать записи на предмет нулов и в селекте условные блоки... for id = 448 get all child, child of child,child of child of child... 4 level Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 448 єто верхний родитель, являеться родителем для самого себя. выход получаем гдето такой джоинов прапрадет1 прапрадет1 прапрадет1 прапрадет1 (ибо ссылка на самого себя) прапрадет1 прапрадет1 прапрадет1 прадед1 прапрадет1 прапрадет1 прапрадет1 прадед2 прапрадет1 прапрадет1 прадед1 папа1 прапрадет1 прапрадет1 прадед1 папа2 прапрадет1 прапрадет1 прадед1 папа3 .... юнионы тут никчему, просто кропотливо посидеть с правильным выбором. помню когда мне такое надо было, чтото я там с нул значениями мучался... а именно как отфильтровать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 15:13:37 |
|
||
|
Прошу помощи с составлением запроса
|
|||
|---|---|---|---|
|
#18+
alex564657498765453можно и без джоинов...занимался таким :)В принципе можно, когда точно известно что мало уровней. Но в общем случае с произвольным деревом надо работать по "деревянному". Используя соответствующие структуры и подходы. Тогда запросы на выборку значительно упрощаются и голову ломать не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 16:26:00 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=164&tid=1834305]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
24ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 267ms |

| 0 / 0 |
