powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Запроc в bigquery
5 сообщений из 5, страница 1 из 1
Запроc в bigquery
    #40079487
Евгений3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Я новичок в SQL, подскажите, пожалуйста:
У меня есть две таблицы, мне необходимо в одном запросе объединить их таким образом, чтобы получить общую со следующими разделенными типами данных:

1. Есть в первой таблице, но нет во второй
2. Есть во второй таблице, но нет в первой
3. Есть в обеих таблицах

Возможно ли это вообще в одном запросе?

Поскольку при подобном левом и правом соединении используется WHERE, а использовать его несколько раз для каждого JOINа я не нашел возможности.


SELECT
*
FROM h.employee_shift emp_shift

LEFT JOIN h.shift_employee shift_emp1
ON emp_shift.employee_id = shift_emp1.employee_id
WHERE shift_emp1.employee_id IS NULL
AND emp_shift.start >= '2021-03-01 00:00:00 UTC'
AND emp_shift.start <= '2021-03-31 23:59:00 UTC'

RIGHT JOIN h.shift_employee shift_emp2
ON emp_shift.employee_id = shift_emp2.employee_id
WHERE emp_shift.employee_id IS NULL
AND emp_shift.start >= '2021-03-01 00:00:00 UTC'
AND emp_shift.start <= '2021-03-31 23:59:00 UTC'

JOIN h.shift_employee shift_emp3
ON emp_shift.employee_id = shift_emp3.employee_id
WHERE emp_shift.start >= '2021-03-01 00:00:00 UTC'
AND emp_shift.start <= '2021-03-31 23:59:00 UTC'

Идея моя вот такая, но так использовать WHERE 3 раза нельзя

Заранее спасибо
...
Рейтинг: 0 / 0
Запроc в bigquery
    #40079494
istrebitel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Запроc в bigquery
    #40079510
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений3000,

тебе продали не всю картинку :)
...
Рейтинг: 0 / 0
Запроc в bigquery
    #40079606
Евгений3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как всё-таки я с помощью full-outer-join разделю данные на 3 категории?

1. Есть в первой таблице, но нет во второй
2. Есть во второй таблице, но нет в первой
3. Есть в обеих таблицах
...
Рейтинг: 0 / 0
Запроc в bigquery
    #40079610
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений3000
А как всё-таки я с помощью full-outer-join разделю данные на 3 категории?

1. Есть в первой таблице, но нет во второй
2. Есть во второй таблице, но нет в первой
3. Есть в обеих таблицах


А что оно не очевидно из того что выше написано?
Там все помоему вполне понятно как делить надо.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Запроc в bigquery
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]