Как правильно составить запрос к БД?

Имеется 2 таблицы - images_category и images_to_category.
SELECT * FROM images_category JOIN images_to_category ON images_category.id = images_to_category.id_category

Есть еще images_to_category.id_file, информацию о котором мне и требуется узнать.
SELECT * FROM images_category JOIN images_to_category ON images_category.id = images_to_category.id_category WHERE images_to_category.id_file = 15

Прекрасно выводит категорию, в которых этот файл состоит, но как сделать так, чтобы это работало в обратную сторону? Чтобы выводило наоборот категории, в которых этого файла нет вовсе?
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
megafax
@megafax
web-программист
Как то так?
SELECT * 
FROM `images_category`
WHERE `id` NOT IN (
    SELECT `images_category`.`id` 
    FROM `images_category` 
    JOIN `images_to_category` ON (`images_category`.`id` = `images_to_category`.`id_category`) 
    WHERE `images_to_category`.`id_file` = 15 )
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@LaRN
Senior Developer
Если я правильно понял задание, то как-то так
SELECT *
FROM images_category
Left Join images_to_category
ON images_category.id = images_to_category.id_category
AND images_to_category.id_file = 15
WHERE images_to_category.id_category is null
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Badoo Development Москва
от 140 000 до 180 000 руб.
Badoo Development Москва
от 180 000 до 250 000 руб.
Делис Инфо Москва
от 70 000 до 80 000 руб.
15 авг. 2018, в 07:40
120000 руб./в месяц
15 авг. 2018, в 07:34
98000 руб./в месяц
15 авг. 2018, в 07:30
100000 руб./в месяц