Mysql where子句中的SQl if语句
如何在我的陈述中添加底线Mysql where子句中的SQl if语句,mysql,sql,where,Mysql,Sql,Where,如何在我的陈述中添加底线 SELECT AgentID, PaymentAmount FROM Table A WHERE DATEOFPAYMENT GROUP BY CollectorNumber ORDER BY CollectorNumber, LastName, DateofPayment, PaymentAmount 若付款日期=昨天,则付款金额为“前一天” 或 若付款日期=当前月,则付款金额为“MTD” 或 若付款日期=当前年,则付款金额为“本年至今” 我们可以研
SELECT
AgentID,
PaymentAmount
FROM Table A
WHERE
DATEOFPAYMENT
GROUP BY
CollectorNumber
ORDER BY
CollectorNumber,
LastName,
DateofPayment,
PaymentAmount
若付款日期=昨天,则付款金额为“前一天” 或 若付款日期=当前月,则付款金额为“MTD” 或 若付款日期=当前年,则付款金额为“本年至今” 我们可以研究
这是几乎完成的伪代码,所以请修复语法。但是案例陈述是这样的。我不明白你想把它们放在哪里。您可以使用
CASE
而不是IF
,但是如何使用它取决于您在做什么。请看CASE语句。我想那会对你有帮助。在你的WHERE
中用CASE
语句替换DATEOFPAYMENT
。@GoatCO-我知道,只要引导他就行了,否则只能发生一次,它应该在最后一次WHEN..THEN
之后<代码>AS
也不属于那里。
SELECT AgentID, PaymentAmount FROM Table A
WHERE CASE DATEOFPAYMENT
WHEN subdate(currentDate, 1) THEN PaymentAmount
WHEN month() THEN PaymentAmount
WHEN year() THEN PaymentAmount
ELSE 0
END
GROUP BY CollectorNumber
ORDER BY CollectorNumber, LastName, DateofPayment,
PaymentAmount