Задавайте вопросы, мы ответим
Вы не зашли.
Нужно данные из столбца arr_parent_obj передать в подзапрос.
В столбце данные, например, 0,1,216.
Если в условие подзапроса IN указать прямо (0,1,216), то все работает. А если алиас - все null.
Задача: вывести адрес (страна, регион, город). Структура таблицы вложенная, как категории.
Часть запроса следующий:
Отредактированно remenikomer (30.06.2017 22:33:07)
Неактивен
WHERE find_in_set(areaid,arr_parent_obj)
Неактивен
vasya написал:
WHERE find_in_set(areaid,arr_parent_obj)
но очень тяжелый запрос получается, 3 секунды на 60 строк то
Неактивен
find_in_set не использует индекс
чтобы использовать in надо менять структуру и не хранить данные через запятую
Неактивен
vasya написал:
find_in_set не использует индекс
чтобы использовать in надо менять структуру и не хранить данные через запятую
и как сделать по другому? Можно без find_in_set?
Неактивен
покажите структуру таблиц show create table..
тестовые данные insert into ..
и что должен вернуть запрос
Неактивен
vasya написал:
покажите структуру таблиц show create table..
тестовые данные insert into ..
и что должен вернуть запрос
Отредактированно remenikomer (01.07.2017 00:15:29)
Неактивен
с помощью WITH в MySQL 8 / MaiaDB 10.2
http://sqlinfo.ru/articles/info/28.html
в более ранних версиях придется с помощью процедуры
http://sqlinfo.ru/articles/info/22.html
если уровень вложенности фиксирован, т.е. всегда (страна, регион, город), то 2 раза left join таблицы на саму себя
Неактивен