是否有可能根據相同日期加入兩個表,而不是時間因素?MySQL - 根據日期加入
喜歡的東西:
... FROM LEFT JOIN銷量約會 appointments.date = sales.date ...
唯一的問題是,它是一個日期時間字段,所以我想確保它只查看日期而忽略時間
是否有可能根據相同日期加入兩個表,而不是時間因素?MySQL - 根據日期加入
喜歡的東西:
... FROM LEFT JOIN銷量約會 appointments.date = sales.date ...
唯一的問題是,它是一個日期時間字段,所以我想確保它只查看日期而忽略時間
你可以這樣說:
FROM appointments
LEFT JOIN sales ON DATE(appointments.date) = DATE(sales.date)
但我敢肯定,這將不能夠使用索引,所以會很慢。
向每個表格添加日期列可能會更好。
ON子句接受任意的條件表達式,因此您可以在比較之前執行雙方的日期規範化,但它應該表示顯着的性能損失。
是的,但是您必須加入一個計算表達式,該表達式從日期時間列值中刪除時間。這將使查詢非優化搜索(它不能使用索引),所以它會生成一個表掃描...
我不知道在MySQL從datetime值剝離時的語法,但不管它是什麼,只寫
FROM appointments a
LEFT JOIN sales s
ON StripTime(s.date) = StripTime(a.date)
對您的問題進行同樣的討論 - https://stackoverflow.com/q/48590120/4050261 – 2018-02-02 21:05:43