У меня есть таблица счетов, таблица credit_memo и таблица платежей. У меня возникли проблемы с возвратом максимальной даты с даты выставления счета, даты выпуска платежа или даты выпуска кредитного авизо.
SELECT
T1.b2b_id,
MAX(T1.due_date) | coalesce(T3.issue_date, '1000-01-01') |
coalesce(T4.issue_date, '10001-01-01') AS endDate
FROM t_invoice AS T1
LEFT JOIN t_linked_transaction AS T2 ON T2.invoice_uid = T1.uid
LEFT JOIN t_payment AS T3 ON T3.uid = T2.payment_uid
LEFT JOIN t_credit_memo AS T4 ON T4.uid = t2.credit_memo_uid
Запрос MAX возвращает 20150301009885.
Правильная дата 2015-03-01 00:00:00, если я завершаю MAX-запрос с помощью DATE (MAX (...)), он возвращает NULL
Спасибо за помощь
Вам нужно отправить Char в соответствии с ошибкой MySQL, указанной в ссылке здесь.
SELECT
T1.b2b_id,
MAX (CAST(T1.due_date) AS CHAR) | coalesce(T3.issue_date, '1000-01-01') |
coalesce(T4.issue_date, '10001-01-01') AS endDate
FROM t_invoice AS T1
LEFT JOIN t_linked_transaction AS T2 ON T2.invoice_uid = T1.uid
LEFT JOIN t_payment AS T3 ON T3.uid = T2.payment_uid
LEFT JOIN t_credit_memo AS T4 ON T4.uid = t2.credit_memo_uid