MySQL Сведение разных таблиц в одну

150
02 октября 2021, 03:50

Доходы фитнесс-клуба состоят из покупок абонементов и складываются в таблицу:

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
Answer 1

я не могу использовать 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
READ ALSO
mysql: определить пол по имени (поиск значения из списка слов в поле, содержащем несколько слов)

mysql: определить пол по имени (поиск значения из списка слов в поле, содержащем несколько слов)

Подскажите как сделать запрос в БД, чтобы выбрать только такие записи, в которых пользователь имеет определённый пол?

253
Как лучше написать sql запрос

Как лучше написать sql запрос

Есть две таблицы

182
LEFT JOIN дублирует строки

LEFT JOIN дублирует строки

Доброе время суток, пытаюсь получить значение с таблицы doctor_to_category (структура: doctor_category_id | doctor_id | category_id)

126
UPSERT в MySQL не по первичному ключу

UPSERT в MySQL не по первичному ключу

Мне надо актуализировать базу данныхУ меня есть какой-то набор значений, к примеру:

94