Как выбрать записи, у которых нет соотв. записей в связанной таблице, а также записи, которые соответствуют условиям?
Таблица users
:
id | surname |
---|---|
1 | Иванов |
2 | Петров |
3 | Сидоров |
4 | Кузнецов |
Таблица category
id | name |
---|---|
1 | Котики |
2 | Собачки |
Таблица posts
id | id_user | content | id_category | add_date |
---|---|---|---|---|
1 | 1 | Текст 1 | 1 | 2023.01.01 |
2 | 1 | Текст 2 | 1 | 2023.01.02 |
3 | 1 | Текст 3 | 2 | 2023.01.03 |
4 | 2 | Текст 4 | 1 | 2023.01.04 |
5 | 1 | Текст 5 | 2 | 2023.01.05 |
6 | 2 | Текст 6 | 2 | 2023.01.06 |
7 | 2 | Текст 7 | 1 | 2023.01.07 |
Нужно получить users.surname
, category.name
, posts.content
где: (posts.id_category = 1
) И (posts.add_date < '2023.01.03'
ИЛИ posts.add_date > '2023.01.05'
ИЛИ вообще нет записей в posts
). То есть в итоге я хочу получить такое:
users.surname | category.name | posts.content |
---|---|---|
Иванов | Котики | Текст 1 |
Иванов | Котики | Текст 2 |
Петров | Котики | Текст 7 |
Сидоров | Котики | NULL |
Кузнецов | Котики | NULL |
Реально сделать такой запрос? Заранее благодарен!
Источник: Stack Overflow на русском