Задавайте вопросы, мы ответим
Вы не зашли.
Добрый день подскажите что делаю не так.
Есть 3 таблици
1 category 1 000 записей
c_id
c_name
2 product 400 000 записей
p_id
p_name
3 category_to_product 1 500 000 отношений
c_id
p_id
Надо выбрать категорию где количество продуктов равно 0.
Делаю вот такой запрос
Отредактированно lancelot8097 (04.10.2016 07:13:47)
Неактивен
lancelot8097 написал:
Почему-то в результате не все записи а только те у которых есть товары..... где я ошибся ?
JOIN product оставит только те где есть продукты
lancelot8097 написал:
К тамуже запрос выполняется около 8 секунд что по мне очень долго.
показывайте:
план запрооса
explain select ...;
и структуру таблиц в виде
show create table имя_таблицы;
Неактивен
vasya написал:
select category.*
FROM `category`
LEFT JOIN category_to_product ON (category.c_id = category_to_product.c_id)
where category_to_product.c_id is null
group by `category_id`.`c_id`; -- все категории у которых нет продуктов.lancelot8097 написал:
Почему-то в результате не все записи а только те у которых есть товары..... где я ошибся ?
JOIN product оставит только те где есть продукты
lancelot8097 написал:
К тамуже запрос выполняется около 8 секунд что по мне очень долго.
показывайте:
план запрооса
explain select ...;
и структуру таблиц в виде
show create table имя_таблицы;
Неактивен
а зачем показывать план неверного запроса? вам ведь нужны категории, не имеющие товаров?
Неактивен
vasya написал:
а зачем показывать план неверного запроса? вам ведь нужны категории, не имеющие товаров?
Так это и есть те 799 категорий без товаров
Просто почем-то без приклейки товара не получается получить null от pivot
Неактивен
о каком пивоте идет речь?
категория без товара - это категория, которая есть в Lst_cat, но отсутствует в Lst_GoodsToCat?
зачем в Lst_GoodsToCat нужно поле GoodToCatId?
Сделайте составной индекс на два других
Неактивен
vasya написал:
о каком пивоте идет речь?
категория без товара - это категория, которая есть в Lst_cat, но отсутствует в Lst_GoodsToCat?
зачем в Lst_GoodsToCat нужно поле GoodToCatId?
Сделайте составной индекс на два других
Вот что происходит когда я делаю просто.
Неактивен
давайте по порядку: что такое категория без товара и находит ли их мой запрос?
Неактивен