Я пытаюсь найти ошибку в SQL-запросе, но не могу понять ее. Запрос выглядит так:
SELECT
DATE(BT.DateCheckedIn) AS X,
DAYOFWEEK(BT.DateCheckedIn) AS DayX,
SUM(IR.QtyCheckedIn) AS C,
AU.AdminUsername,
AU.AdminFirstName,
AU.AdminLastName,
IF(BTE.ProdLogID IS NULL, 'No', 'Yes') AS Exclude
FROM
buying_issuesreceived IR
JOIN buying_transactions BT ON IR.TransactionID = BT.TransactionID
JOIN adminusers AU ON BT.CheckedInByAdminUserID = AU.AdminUserID
LEFT JOIN log_production_bt BTE
ON DATE(BT.DateCheckedIn) = DATE(BTE.ProductionDate)
AND BTE.ProductionSection = 'wtransactions'
AND AU.AdminUsername = BTE.ProductionUsername
WHERE
DATE(BT.DateCheckedIn) BETWEEN DATE '2018-09-24' AND DATE '2018-09-30'
GROUP BY
DATE(BT.DateCheckedIn),
AU.AdminUsername
Когда этот запрос выполняется, он с вероятностью 50/50 возвращает правильные данные или вообще ничего не возвращает. Там нет сообщения об ошибке. Я знаю, или, скорее, должен сказать, я вполне уверен, что LEFT JOIN является виновником, потому что, когда я удаляю его из кода, я прекращаю получать пустые таблицы, но не могу, на мой взгляд, понять, почему этот запрос будет вернуть противоречивые результаты в первую очередь.