Задать вопрос
nulldef
@nulldef
Senior Software Developer

Есть 3 таблицы (A, B, C). B — связочная (многое ко многим). Как выбрать все записи из A, но специфично?

Есть 3 таблицы (A, B, C). B - связочная (многое ко многим).
Таблица A
id | title
Таблица B
A_id | С_id
Таблица C
id | code

Нужно выбрать все записи из A, но специфично. Если у записи из таблицы A есть код 1 в таблице C, то она должна быть в результатах, если код = 0, то исключить.
Пример:
A
id | title
1  | title 1
2  | title 2
3  | title 3

B
A_id | С_id
1     | 1
1     | 2
2     | 3
3     | 4

C
id | code
1  | 0
2  | 1
3  | 0
4  | 1


В результатах выборки запись из таблицы А с 3 (title 3).
Спасибо.
  • Вопрос задан
  • 2704 просмотра
Подписаться 2 Оценить 2 комментария
Решения вопроса 1
SELECT * FROM A
  INNER JOIN B
    ON A.id = B.A_id
  INNER JOIN C
    ON B.B_id = C.id
GROUP BY A.id
  HAVING C.code = 1
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы