与 SUM(IF()) 一起使用的正确语法应该是啥? [关闭]

Posted

技术标签:

【中文标题】与 SUM(IF()) 一起使用的正确语法应该是啥? [关闭]【英文标题】:What should be the right syntax to use with SUM(IF())? [closed]与 SUM(IF()) 一起使用的正确语法应该是什么? [关闭] 【发布时间】:2022-01-24 03:46:30 【问题描述】:

我正在使用 MariaDB 作为数据库。给出的错误是

您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以了解在 'SUM(IF(t1.posting_date BETWEEN '2021-01-01' AND '2021-01-31', t2.base_net_amo...' 附近使用的正确语法第 1 行

我已经尝试了几件事,但仍然没有。

SELECT
  t2.item_code,
  t2.item_name,
  t1.no_jo,
  SUM(
    IF(t1.posting_date BETWEEN '2021-01-01' AND '2021-01-31', t2.stock_qty, NULL)
    ,SUM(
      IF(t1.posting_date BETWEEN '2021-01-01' AND '2021-01-31', t2.base_net_amount, NULL)
    ),
    SUM(
      IF(t1.posting_date BETWEEN '2021-02-01' AND '2021-02-28', t2.stock_qty, NULL),
      SUM(
        IF(t1.posting_date BETWEEN '2021-02-01' AND '2021-02-28', t2.base_net_amount, NULL)
      ),
      SUM(
        IF(t1.posting_date BETWEEN '2021-12-01' AND '2021-12-31', t2.stock_qty, NULL),
        SUM(
          IF(t1.posting_date BETWEEN '2021-12-01' AND '2021-12-31', t2.base_net_amount, NULL)
        ),
        SUM(t2.stock_qty),
        SUM(t2.base_net_amount) 
FROM `tabBAST` t1, `tabBAST Item` t2 
WHERE t2.parent = t1.name and t1.company = %s and t1.transaction_date between %s and %s and t1.docstatus = 1 
GROUP BY t2.item_code;

问题出在哪里?

【问题讨论】:

【参考方案1】:

在第一个、第三个和第五个 SUM 中,您似乎缺少一些 )。

【讨论】:

以上是关于与 SUM(IF()) 一起使用的正确语法应该是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

与当前 Spring Boot 2.0.0M3 一起使用的正确 Spring Cloud 版本是啥

将 *ngFor 与迭代器一起使用的正确方法是啥?

将 cProfile 与 asyncio 代码一起使用的正确方法是啥?

将 localForage 与 Cordova 一起使用的正确方法是啥?

将 NUMBERFMT 与 GetNumberFormatEx 一起使用的正确方法是啥?

与 Core Data 一起使用的 NSComboBox 的正确绑定是啥