SELECT d.userID, (d.amountSuccessfulDeposits), (d.numberSuccessfulDeposits), cl.notes, d.asofdate, cl.send_date
FROM campaign_list cl
INNER JOIN deposit d
on d.userid = cl.userid
WHERE cl.send_date > date(CURDATE()) - INTERVAL 7 DAY
AND cl.send_date < date(CURDATE()) - INTERVAL 1 DAY
AND d.asofdate > date(CURDATE()) - INTERVAL 7 DAY
AND d.asofdate < date(CURDATE()) - INTERVAL 1 DAY
and cl.notes in ('report11', 'report12', 'report13', 'report14', 'report15')
and d.asofdate > cl.send_date
在用戶標識輸入活動(報告11-15)之後,查詢計算存入的數量。 「send_date」是userID輸入到活動中的日期。但是,如果用戶ID進一步進展到另一組活動(報告16-20),則在進入第二組活動(16-20)後進行的存款不應計入第一組活動(11-15)查詢總計。where子句中的子查詢(mysql)
實施例:
鮑勃進入上1/21
鮑勃1/20
鮑勃存款$ 100報告11進入上1/24
鮑勃16報告存款$ 1/12
因此,上述查詢應該只會爲Bob返回$ 100。
userID; amountSuccessfulDeposits; numberSuccessfulDeposits; notes; asofdate; send_date
2575192; 100.00; 1; report11 ;2016-01-21 ; 2016-01-20
下面的查詢沒有工作
SELECT d.userID, (d.amountSuccessfulDeposits), (d.numberSuccessfulDeposits), cl.notes, d.asofdate, cl.send_date
FROM campaign_list cl
INNER JOIN deposit d
on d.userid = cl.userid
WHERE cl.send_date > date(CURDATE()) - INTERVAL 7 DAY
AND cl.send_date < date(CURDATE()) - INTERVAL 1 DAY
AND d.asofdate > date(CURDATE()) - INTERVAL 7 DAY
AND d.asofdate < date(CURDATE()) - INTERVAL 1 DAY
and cl.notes in ('report11', 'report12', 'report13', 'report14', 'report15')
and d.asofdate > cl.send_date
AND (
(SELECT (ocl.send_date)
FROM campaign_list ocl
WHERE ocl.userID = cl.userID
and ocl.notes in ('report16', 'report17', 'report18', 'report19', 'report20')
) > d.asofdate
)
我們可以通過一些示例選項卡數據和期望的輸出?最快的方法來在這裏獲得高質量的答案。 –
你如何在表格中輸入數字?當我從mysql客戶端複製並粘貼時,這是一團糟 – eddd83
在每行的前面添加四個空格,這將強制等寬字體文本。因此,只需在記事本中創建一個漂亮的表格,在每行的開頭添加四個空格,然後將其轉儲到您的問題中。 –