Mysql SQL where语句和匹配日期
客户资料表Mysql SQL where语句和匹配日期,mysql,sql,date,inner-join,where,Mysql,Sql,Date,Inner Join,Where,客户资料表 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
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 $0.00
帮助?确保只比较日期部分而不是时间部分 也许您可以使用Convert函数来转换为日期类型
Convert(date, pa.date)=Convert(date, cp.initialDepositSuccessDate)
我不完全理解您的问题-您的示例数据与查询中的字段不匹配。话虽如此,您的查询似乎确实返回了预期结果:进行了一些编辑。希望它对您更有意义您的查询应该返回您想要的输出。您必须使用不同的查询或表中有不同的内容。可能重复的行具有不同的accountStatus?您使用的是什么数据库?列的数据类型是什么?我对存款栏特别感兴趣。它是数字还是字符串?
Convert(date, pa.date)=Convert(date, cp.initialDepositSuccessDate)