Mysql 如何按月检查付款
我正在创建一个简单的gim系统付款提醒计算部分。我想得到那些没有支付当月金额的人的结果,他们的姓名需要显示。到目前为止我所尝试的,我附在下面 成员表格Mysql 如何按月检查付款,mysql,sql,Mysql,Sql,我正在创建一个简单的gim系统付款提醒计算部分。我想得到那些没有支付当月金额的人的结果,他们的姓名需要显示。到目前为止我所尝试的,我附在下面 成员表格 id mno pname dob 1 e001 john 1991.12.3 2 e002 steve 1987.11.3 3 e003 sunm 1986.11.31 4 e004 jeba 1981.1.3 id mno paydate
id mno pname dob
1 e001 john 1991.12.3
2 e002 steve 1987.11.3
3 e003 sunm 1986.11.31
4 e004 jeba 1981.1.3
id mno paydate amount months
1 e001 2020-12-14 20000 12
付款表格
id mno pname dob
1 e001 john 1991.12.3
2 e002 steve 1987.11.3
3 e003 sunm 1986.11.31
4 e004 jeba 1981.1.3
id mno paydate amount months
1 e001 2020-12-14 20000 12
月表12表示-12月month我得到了当月的SQL代码month(getdate())
我试着这样问
SELECT Member.mno
,Member.pname
,payment.amount
FROM Member
LEFT JOIN payment ON Member.mno = payment.mno
WHERE payment.amount IS NULL
AND payment.months = MONTH(getdate())
当我运行查询时,没有得到任何结果。我想得到那些没有支付当月金额的人的结果,他们的姓名需要显示。上述查询有什么问题?您需要将条件从
WHERE
子句移动到ON
子句,如下所示:
SELECT MEMBER.MNO,
MEMBER.PNAME,
PAYMENT.AMOUNT
FROM MEMBER LEFT JOIN PAYMENT ON MEMBER.MNO = PAYMENT.MNO
AND PAYMENT.MONTHS = MONTH(GETDATE())
WHERE PAYMENT.AMOUNT IS NULL
谢谢,先生。如何检查付费人员姓名`WHERE PAYMENT.AMOUNT为NULL`-->`WHERE PAYMENT.AMOUNT不为NULL`----或将查询转换为使用内部联接并省略WHERE子句。。。。。。。。。。。先生每个月都能成功完成此任务每月(GETDATE())它会自动更改月份并检查付款是的,每个月都能完成Hanks先生…………您的问题标记为“mysql”,但代码不会在mysql中运行。