Доходы фитнесс-клуба состоят из покупок абонементов и складываются в таблицу:
payments:
id | abonementID | cost | data
1 | 2357 | 1200 | 2019-10-14 13:30:40
2 | 4425 | 2300 | 2019-10-14 14:55:32
3 | 9834 | 1150 | 2019-10-14 16:01:54
Расходы состоят из выплат зарплаты тренерам
payouts:
id | trainerID | salary | data
1 | 23 | 15200 | 2019-10-14 10:11:33
2 | 25 | 40000 | 2019-10-14 15:06:12
Таблицы в реальности содержат больше полей, и одинаковые в них толе поле date
Вот ни как не могу сообразить как мне сделать выписку по счёту. Мне нужны ВСЕ данные из обеих таблиц за определённый период отсортированные по дате. Но я не могу использовать UNION так как табилцы имеют совершенно разный формат и не понимаю как использовать JOIN ибо мне не нужно сопоставлять данные.
Вот что я хочу получить:
balance:
trainerID | salary | data | abonementID | cost
23 | 15200 | 2019-10-14 10:11:33 | null | null
null | null | 2019-10-14 13:30:40 | 2357 | 1200
null | null | 2019-10-14 14:55:32 | 4425 | 2300
25 | 40000 | 2019-10-14 15:06:12 | null | null
null | null | 2019-10-14 16:01:54 | 9834 | 1150
я не могу использовать UNION так как табилцы имеют совершенно разный формат
Недостающие поля дополняются литералами (в данном случае - NULL):
SELECT NULL trainerID, NULL salary, data, abonementID, cost
FROM payments
UNION ALL
SELECT trainerID, salary, data, NULL, NULL
FROM payouts
ORDER BY data
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости