@Kratko63

Как составить MySQL запрос SELECT из 2-х таблиц, исходя из нескольких значений?

Здравствуйте, есть 2 таблицы

1 таблица с указанием id продукта и модели продукта
+----------+-----------+
|    id    |   model   |
+----------+-----------+
|   1001   |  Апельсин |
|   1002   |  Лимон    |
|   1003   |  Вишня    |
|   1004   |  Калина   |
+----------+-----------+

2 таблица с указанием id продукта (как и в первой), категории продукта, и ещё (3-й столбец) указанием Главная 1 или не главная 0
+----------+-----------+------------------+
|    id    |   category  |  main_category |
+----------+-----------+------------------+
|   1001   |      1      |        0       |
|   1001   |      2      |        0       |
|   1001   |      3      |        0       |
|   1002   |      1      |        0       |
|   1002   |      7      |        1       |
|   1003   |      1      |        0       |
|   1003   |      4      |        1       |
|   1003   |      8      |        0       |
|   1003   |      10     |        0       |
|   1004   |      1      |        0       |
|   1004   |      2      |        0       |
|   1004   |      5      |        0       |
+----------+-------------+----------------+


В 3-м столбце может оказаться продукт, для которого не задана главная категория, в примере это продукт с id 1001 и 1004

Подскажите пожалуйста, как вывести одним запросом список всех продуктов (с данными из первой и второй таблиц), у которых НЕ задана главная категория? Т.е. если смотреть пример то вывести данные с id 1001 и 1004
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
Bavashi
@Bavashi
select * from table1 where id not in (select id from table2 where main_category = 1);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
idShura
@idShura
select t1.id,
       t1.model,
       t2.category,
       t2.main_category
  from table1 t1
       left join table2 t2 on t2.id = t1.id
 where t2.main_category = 1
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы