0
在此查詢中,我試圖獲取2016年6月份「創建」的用戶的電子郵件地址,但之前從未存在過,但這似乎根本不起作用。正確加入我的sql和子查詢
我需要篩選出2016年6月之前已經存在的用戶的電子郵件,並得到僅在2016年6月
創造了新的,似乎有什麼錯此查詢?
select DISTINCT SF.customer_email, SF.created_at, historcialEmails.customeremail,
historcialEmails.createdAt
FROM
sales_flat_order SF
RIGHT JOIN
(
select SFO.customer_email
AS customeremail,
SFO.created_at as createdAt
FROM
sales_flat_order SFO
WHERE
DATE(SFO.created_at) <= '2016-05-31'
) AS historcialEmails
ON historcialEmails.customeremail = SF.customer_email
WHERE
YEAR(DATE(SF.created_at)) = '2016'
AND
MONTH(DATE(SF.created_at)) = '6'
AND
SF.customer_email IS NULL
謝謝,但請注意指出我的查詢版本實際上出了什麼問題?我很想知道錯誤在哪裏。 –
重新閱讀我的回答 – Strawberry
加入職位切換,好吧。 (但這不會在邏輯上有所作爲,否?),添加時間戳到目前爲止,但爲什麼sf.created_at BETWEEN'2016-06-01 00:00:00'和'2016-07-01 00: 00:00'應該有所作爲?我仍然不確定爲什麼這應該起作用,而不是另一個。另外,我確實使用了您的查詢版本。與以前相同的結果。 @strawberry –