SQl if where语句中的语句
如何将底线添加到我的语句中?SQl if where语句中的语句
SELECT
AgentID,
PaymentAmount
FROM Table A
WHERE
DATEOFPAYMENT
GROUP BY
CollectorNumber
ORDER BY
CollectorNumber,
LastName,
DateofPayment,
PaymentAmount
如果DATEOFPAYMENT =昨天然后PaymentAmount否则为0为 '前一天'
或
如果DATEOFPAYMENT = current_Month然后PaymentAmount否则为0为 'MTD'
或
如果DATEOFPAYMENT = CURRENT_YEAR然后PaymentAmount否则为0为“YTD
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
这几乎是全熟的伪代码,因此请修正语法。但案件陈述就是这样。
这不会运行。 – 2014-11-20 19:05:52
@GoatCO - 我知道,只要引导他沿着 – Coffee 2014-11-20 19:06:34
'ELSE'就可以发生,但一旦发生,它应该在最后一个'WHEN..THEN'之后出现。 “AS”也不属于那里。 – 2014-11-20 19:12:47
我不明白你想把这些放在哪里。你可以使用'CASE'而不是'IF',但是如何使用它取决于你在做什么。 – 2014-11-20 19:01:51
查看CASE声明。我想这会帮助你。 http://msdn.microsoft.com/en-us/library/ms181765.aspx – 2014-11-20 19:03:23
用'CASE'语句替换'WHERE'中的'DATEOFPAYMENT'。 – 2014-11-20 19:03:36