1
我已經安裝了事件模塊的Drupal安裝。我寫了一個短插件,用於搜索所有結束日期已過的事件,並使其無法生效。它基本上是一個SQL查詢,像這樣:更新MySQL表,但只查詢最大值
UPDATE node LEFT JOIN content_field_dates on node.nid = content_field_dates.nid SET node.status = 0 WHERE node.type = 'event' AND field_dates_value2 < NOW() AND node.status = 1
然而,一些事件可能有多個日期,而這個查詢將狀態設置爲0,即使一個日期已過,部分日期仍然是在未來。我已經成功地做了SELECT
查詢只查詢MAX()
日期,像這樣:
SELECT * FROM node LEFT JOIN content_field_dates on node.nid = content_field_dates.nid WHERE node.type = 'event' AND field_dates_value2 < NOW() GROUP BY field_dates_value2 HAVING field_dates_value2 = MAX(field_dates_value2)
,但我不知道如何將其轉化成UPDATE
查詢,因爲我不能用GROUP BY
。有任何想法嗎?
,似乎工作。謝謝! :) – Pezholio