В запросе к БД фигурируют 3 таблицы. Нужны данные по двум условиям - MySQL
Формулировка задачи:
1. Первая таблица oc_product. Берем поля model и geolocation
2. Вторая таблица oc_product_description. Берем поля name и meta_keyword
3. Третья таблица oc_product_to_category нужна для сопоставления: поле product_id (также представлено в первых двух таблицах) используется как ключ для фильтра по значению category_id, где значение category_id = 45.
4. Еще одно условие: в выборку попадают только поля languge_id=1 из таблицы oc_product_description.
двумя разными запросами я это сделал, но тогда "буксует" дальнейшая логика решения задачи.
Вот работающие запросы, выводящие нужные данные массивом:
№ № 2. Попытки объединить в одно целое пока что тщетны. и JOIN и UNION пытался приспособить - все безуспешно
Прошу совета.
1. SELECT * FROM oc_product WHERE oc_product.product_id IN (SELECT oc_product_to_category.product_id FROM oc_product_to_category WHERE oc_product_to_category.category_id = 45)
SELECT * FROM oc_product_description WHERE oc_product_description.language_id = 1 AND oc_product_description.product_id IN (SELECT oc_product_to_category.product_id FROM oc_product_to_category WHERE oc_product_to_category.category_id = 45)
Решение задачи: «В запросе к БД фигурируют 3 таблицы. Нужны данные по двум условиям»
textual
Листинг программы
SELECT op.model, op.geolocation, opd.name, opd.meta_keyword FROM oc_product_to_category optc, oc_product op , oc_product_description opd WHERE optc.category_id = 45 AND op.product_id = optc.product_id AND opd.product_id = op.product_id AND opd.language_id = 1
Объяснение кода листинга программы
- SELECT - выбранные поля: op.model, op.geolocation, opd.name, opd.meta_keyword
- FROM - таблицы: oc_product_to_category (optc), oc_product (op), oc_product_description (opd)
- WHERE - условия: optc.category_id = 45 AND op.product_id = optc.product_id AND opd.product_id = op.product_id AND opd.language_id = 1
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д