Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL where语句和匹配日期_Mysql_Sql_Date_Inner Join_Where - Fatal编程技术网

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)