我想這比SQL更像一個設計模式問題。基於事件/時間和標準的SQL
在我的應用程序中,用戶可以加入,可以在他們的商店中創建商店並加載產品(因此可以說有一個用戶,商店(一對一)和產品(與商店多對一)
因此,我希望能夠根據時間和標準(但只有一次)做某些事情,例如,如果加入用戶後一週沒有商店,我想發送電子郵件,或者在加入店,但沒有產品發送電子郵件等 - 但我只想做一次
它唯一的一次運行該做我的頭 - 因此,例如,可以說我有這個查詢
select * from user where joineddt < '1 week ago date'
而且我有一個腳本,每3小時運行一次,觸發SQL,然後執行任何事件(例如,發送電子郵件)然後我想確保這個腳本是否被再次觸發,它不會接收任何已經被處理的用戶。我想過介紹一個'事件'表,一旦用戶的事件被解僱,爲該事件記錄一個條目,但這似乎不起作用。例如說我有事件表,有ID,用戶,事件
select * from user a
left join event b on b.user = a.id
where a.joineddt < '1 week ago date'
and b.event = 'userjoined'
and b.id is null
因此,當存在事件沒有進入能夠爲「userjoined」事件,它會返回任何結果......不過說真的我想讓它返回事件表中沒有事件的用戶,這個「userjoined」事件?
那麼,任何人都可以想出一種方法來做我的建議嗎?
謝謝 - 正是我在找的東西! – Xrender