SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 08.11.2013 13:27:31

asker
Участник
Зарегистрирован: 19.10.2011
Сообщений: 11

Как правильно выбрать товары без нескольких категорий ?

Есть 3 таблицы, у одного товара (таблица content) может быть несколько категорий,
Нужно выбрать все товары кроме товаров с категорий с именем 'Apple' и 'Banana', те
если у товара есть хоть одна из этих категорий он не должен выбираться.

Таблицы:
content('record_num')
content_category('content_id', 'cat_id')
category('name', 'cat_id');

Делаю так

SELECT c.record_num FROM content c
LEFT JOIN content_category cc   ON c.record_num = cc.content_id
LEFT JOIN category cat             ON cc.cat_id = cat.id
where cat.name !='Apple' and cat.name !='Banana';

но этот вариант работает не корректно.

Отредактированно asker (08.11.2013 13:35:03)

Неактивен

 

#2 08.11.2013 15:01:37

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Как правильно выбрать товары без нескольких категорий ?

А зачем LEFT JOIN делаете? Тут простой JOIN должен быть по идее.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 08.11.2013 20:23:25

asker
Участник
Зарегистрирован: 19.10.2011
Сообщений: 11

Re: Как правильно выбрать товары без нескольких категорий ?

Ну как бы да, только мне нужно выбирать и те товары у которых нет категорий.

Неактивен

 

#4 08.11.2013 20:32:01

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Как правильно выбрать товары без нескольких категорий ?

А в чем некорректность? Дубликаты?

Неактивен

 

#5 08.11.2013 20:36:36

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Как правильно выбрать товары без нескольких категорий ?

asker написал:

Ну как бы да, только мне нужно выбирать и те товары у которых нет категорий.

для этого ещё нужно условие
or cc.content_id is null

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson