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
在每行的前面添加四个空格,这将强制等宽字体文本。因此,只需在记事本中创建一个漂亮的表格,在每行的开头添加四个空格,然后将其转储到您的问题中。 –