【发布时间】:2017-01-02 13:35:44
【问题描述】:
Customer_profile 表
userid - initialDepositSuccessDate
111111 2016-08-01
222222 2016-08-15
玩家活动表
userid - Date - Deposit
111111 2016-08-01 $5.00
111111 2016-08-02 $10.00
111111 2016-08-03 $15.00
222222 2016-08-05 $0.00
222222 2016-08-08 $0.00
222222 2016-08-15 $20.00
我的查询
Select pa.userid, pa.deposit
from player_activity pa
INNER JOIN customer_profile cp
on cp.userid = pa.userid
where pa.depositmade_amt <> 0
AND cp.amountGamingPlayerBalancecurrent > 0
AND cp.accountStatus = 'active'
AND pa.date = cp.initialDepositSuccessDate
理想情况下,我希望我的查询返回这个结果:
pa.userid pa.Deposit
111111 $5.00
222222 $20.00
但它返回的是这个:
pa.userid pa.Deposit
111111 $5.00
222222 $0.00
帮助?
【问题讨论】:
-
我没有完全理解您的问题——您的示例数据与查询中的字段不匹配。话虽如此,您的查询似乎确实返回了您的预期结果:sqlfiddle.com/#!9/26e305/1
-
做了一些修改。希望它对你更有意义
-
您的查询应该返回您想要的输出。您必须使用不同的查询或在表中具有不同的内容。也许重复行与不同的
accountStatus? -
你用的是什么数据库?
-
列的数据类型是什么?我对
deposit专栏特别感兴趣。是数字还是字符串?
标签: mysql sql date inner-join where