Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выборка из БД
 
 автор: zsaz   (03.06.2014 в 19:03)   письмо автору
 
 

Задача: http://yadi.sk/d/o2mziPlFS9A6y Нужно выбрать все роллы, в которых есть И икра, И соус.
Сейчас работает так, что выбирает роллы где есть ИЛИ икра, ИЛИ соус.
"Что исключить" работает правильное, т.е. не выбирает роллы, в которых есть хотя бы один из ингредиентов.

Структура БД:
таблица product - здесь лежат данные по роллам
таблица ingredients - здесь лежат ингредиенты
таблица ingredients_products - здесь соответствие ингредиентов каким-либо продуктам.

Запрос в БД выглядит так:
SELECT * FROM products WHERE 1 AND id NOT IN
 (SELECT products_id FROM ingredients_products WHERE ingredients_id IN (1,11)) AND id IN 
(SELECT products_id FROM ingredients_products WHERE ingredients_id IN (3,12)) 
ORDER by `sort` DESC, id DESC LIMIT 0, 8


Я так понимаю, то нужно как-то подправить конец вот этой части запроса:
SELECT products_id FROM ingredients_products WHERE ingredients_id IN (3,12)

Подскажите, плз.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования