我正在嘗試編寫一個查詢來識別已在最後一天放棄購物車的訂閱者,同時我還需要一個計算字段來表示天氣或沒有他們在過去的7天內收到過獎勵。在一條記錄上加入表格,但根據加入中的其他行計算字段
我有以下表
AbandonCart_Subscribers Sendlog
查詢的第一部分是容易的,得放棄在最後一天
select a.* from AbandonCart_Subscribers
where DATEDIFF(day,a.DateAbandoned,GETDATE()) <= 1
這是我嘗試計算獎勵但我相當肯定這是不正確的,因爲激勵Recieved始終爲0,即使當我知道它不應該是...
select a.*,
CASE
WHEN DATEDIFF(D,s.SENDDATE,GETDATE()) >= 7
THEN 1
ELSE 0
END As IncentiveRecieved
from AbandonCart_Subscribers a
left join SendLog s on a.EmailAddress = s.EmailAddress and s.CampaignID IS NULL
where
DATEDIFF(day,a.DateAbandoned,GETDATE()) <= 1
這是一個包含對象和一些數據的SQL小提琴。我真的很感謝一些幫助。
感謝
http://sqlfiddle.com/#!3/f481f/1
我終於弄明白了,我的解決方案几乎就是您提供的。我很感激幫助。 – user1735894