Я пытаюсь отобразить все даты за месяц, а также в деталях бронирования, у меня есть только check_in_date и check_out_date, поэтому мне нужно создать левое соединение внутри левого соединения, ниже мой скрипт
SELECT
*
FROM
(
SELECT
@dt:= DATE_ADD( @dt, interval 1 day ) myDate
FROM
(
SELECT
@dt := '2020-01-31'
) vars, tb_dummy
LIMIT 29
) JustDates
LEFT JOIN
(
SELECT
DATE_FORMAT(d.myDate2,'%Y-%m-%d') AS `myDate2`,
COALESCE(count(rdt.reservation_detail_id), 0) AS `RNS`,
FORMAT(SUM(rdt.subtotal_amount/COALESCE(DATEDIFF(DATE(DATE(rdt.check_out_date)), DATE(rdt.check_in_date)), 0)), 2) AS `REVENUE`,
FORMAT(SUM(rdt.subtotal_amount/COALESCE(DATEDIFF(DATE(DATE(rdt.check_out_date)), DATE(rdt.check_in_date)), 0))/COALESCE(count(rdt.reservation_detail_id), 0), 2) AS `AVGREV`
FROM
(
SELECT
@dt:= DATE_ADD( @dt, interval 1 day ) myDate2
FROM
(
SELECT
@dt := '2020-01-31'
) vars2, tb_dummy
LIMIT 29
) d
LEFT JOIN
tb_reservation_detail rdt
ON d.myDate2 BETWEEN DATE(rdt.check_in_date) AND DATE(DATE(rdt.check_out_date) - INTERVAL 1 DAY)
INNER JOIN
tb_reservation R
ON rdt.reservation_id = R.reservation_id
WHERE
rdt.reservation_status_id <> 3
AND
R.property_id = 57
GROUP BY d.myDate2
ORDER BY d.myDate2 ASC
) Resv
ON
JustDates.myDate = Resv.myDate2
ORDER BY
JustDates.myDate ASC
при запуске он возвращает только даты из левой таблицы, например: Результат левого соединения
, но когда я изменяю
SELECT
*
FROM
(
SELECT
@dt:= DATE_ADD( @dt, interval 1 day ) myDate
FROM
(
SELECT
@dt := '2020-01-31'
) vars, tb_dummy
LIMIT 29
) JustDates
**LEFT JOIN**
(
на
SELECT
*
FROM
(
SELECT
@dt:= DATE_ADD( @dt, interval 1 day ) myDate
FROM
(
SELECT
@dt := '2020-01-31'
) vars, tb_dummy
LIMIT 29
) JustDates
**RIGHT JOIN**
(
возвращает данные из правой таблицы следующим образом: Правильный результат объединения
Что не так с моим кодом?