- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Имеется многоуровненвый каталог с двумя таблицами -- конечные объекты и несколько уровней категорий над ними.
Таблица объектов -- Id, Id родителя из таблицы категорий и поля характеристик.
Таблица категорий -- Id, Id родителя из этой же таблицы и поля характеристик.
Пример:
Растения -- Деревья -- Баобабоподобные -- Дубообразные -- Дубковые -- Дубы -- Дуб обыкновенный.
Здесь Дуб обыкновенный -- конечный объект, а все остальное -- категории и подкатегории над ним.
Вопрос:
Как наиболее грамотно (если можно, то через один запрос) запросить:
1. К какой категории второго уровня (Деревья) относится объект (Дуб обыкновенный).
2. Наоборот. Какие конечные объекты (Дуб обыкновенный) относятся к категории второго уровня (Деревья).
Вроде как UNION нужен, но как именно сделать -- не догоняю...
Имеется многоуровненвый каталог с двумя таблицами -- конечные объекты и несколько уровней категорий над ними.
Таблица объектов -- Id, Id родителя из таблицы категорий и поля характеристик.
Таблица категорий -- Id, Id родителя из этой же таблицы и поля характеристик.
Пример:
Растения -- Деревья -- Баобабоподобные -- Дубообразные -- Дубковые -- Дубы -- Дуб обыкновенный.
Здесь Дуб обыкновенный -- конечный объект, а все остальное -- категории и подкатегории над ним.
Вопрос:
Как наиболее грамотно (если можно, то через один запрос) запросить:
1. К какой категории второго уровня (Деревья) относится объект (Дуб обыкновенный).
2. Наоборот. Какие конечные объекты (Дуб обыкновенный) относятся к категории второго уровня (Деревья).
Вроде как UNION нужен, но как именно сделать -- не догоняю...
Это не юнионом делается.
Если быб бы оракл, то деревяшкой можно было бы.
а тут деревок не получиться. Вам на SQL.RU нужно
вроде бы тут nested sets бы хорошо пошли, но нужно структуру таблиц менять.
Копайте в сторону LEFT JOIN
Хм. А Left Join причем, зачем таблицу присоединять?..
Что-то я вопрос не совсем понял, но делается это простым слиянием таблиц, тут даже LEFT JOIN прописывать не надо, т.к. это по умолчанию в синтаксисе заложено.
Т.е. делаем примерно так.: SELECT A.category FROM table_category A, table_names B WHERE A.id=B.id AND B.names='осина';
Получите название категории, .. ну если я вопрос правильно понял, и учитывая что выпил немного :)
У вас количество вложенных категорий может быть разное, для различных объектов. Поэтому делайте в цикле несколько запросов, пока не будет найдена родительская категория.
Пример
Дуб обыкновенный. - его категория Дубы;
Дубы - родительская категория Дубковые;
....
Основная категория - Растения, т.к. родительской у неё нет.
А если хочется сделать по-умному смотрите в строну деревьев, как уже выше сказали.
делайте это программно, имхо на mysql такого не добиться
Выводит категории/подкатегории в select.
Думаю изменить под ваши цели не составит труда.
Хм. А Left Join причем, зачем таблицу присоединять?..
Извиняюсь, не правильно прочитал и подумал что это куча таблиц, а не одна