MySQL - присоединяется на основе даты

Кажется xlink:href работает (сохраняя запись здесь, так как это может помочь другим):

  
    

    

3 ответа

Вы можете сделать это так:

FROM appointments
LEFT JOIN sales ON DATE(appointments.date) = DATE(sales.date)

Но я почти уверен, что он не сможет использовать индекс, поэтому будет очень медленно.

] Возможно, вам лучше добавить столбец даты в каждую таблицу.

10
ответ дан 10 December 2019 в 00:40
поделиться

предложение ON принимает произвольное условное выражение, поэтому вы можете выполнить нормализацию даты на обеих сторонах перед сравнением, но это должно привести к значительному снижению производительности.

0
ответ дан 10 December 2019 в 00:40
поделиться

Да, но вы должны присоединиться к вычисляемому выражению, которое удаляет время из значений столбца datetime. Это сделает запрос не-SARGable (он не может использовать индекс), поэтому он будет генерировать сканирование таблицы ...

Я не знаю синтаксиса в mysql для удаления времени из значения datetime, но что бы это ни было, просто напишите

   FROM appointments a 
      LEFT JOIN sales s 
         ON StripTime(s.date) = StripTime(a.date)
0
ответ дан 10 December 2019 в 00:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: