SQL 条件求和

2024-01-07

我目前有一个大型 SQL 语句,我将以下行添加到其中,以便获取每个交易 ID 的总现金(这是唯一的):

select sum(cash) from Table a where a.branch = p.branch 
and a.transID = p.transID) TotalCash

我现在需要做同样的事情,但只汇总上个月内有起息日期的现金价值,所以我有这样的东西:

select sum(CASE ValueDate WHEN > @startMonthDate THEN cash ELSE NULL END) 
from Table a where a.branch = p.branch and a.transID = p.transID) TotalMonthCash

抱歉,我没有完整的声明,但它确实很长并且特定于存储过程的上下文,但希望有人会知道我的意思?


试试这个:

SUM(CASE WHEN ValueDate > @startMonthDate THEN cash ELSE 0 END)

解释

您的 CASE 表达式的语法不正确。您似乎将简单的 CASE 表达式语法与搜索的 CASE 表达式语法混淆了。请参阅案例文档 http://msdn.microsoft.com/en-us/library/ms181765.aspx:

CASE 表达式有两种格式:

  • 简单 CASE 表达式将一个表达式与一组简单表达式进行比较以确定结果。
  • 搜索到的 CASE 表达式对一组布尔表达式进行求值以确定结果。

您需要搜索的 CASE 表达式语法:

CASE
     WHEN Boolean_expression THEN result_expression [ ...n ] 
     [ ELSE else_result_expression ] 
END

附带说明一下,如果性能是一个问题,您可能会发现,如果您使用 JOIN 和 GROUP BY 重写而不是使用依赖子查询,则该表达式运行得更快。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL 条件求和 的相关文章

  • 如何复制身份列中的数据?

    我有一张桌子identity列在一台服务器中 并且在另一台服务器中有一个具有相同结构的其他表 现在我想将所有数据从一个表复制到另一个表 但我无能为力 我已经创建了一个链接服务器 我用这个 insert into server databas
  • Bool类型返回规则

    我使用 dapper ORM 所以我使用两个规则Query
  • 如何使用JSqlParser向sql添加where条件?

    我想用JSqlParser向sql添加where条件 例如 Before select from test table where a 1 group by c After select from test table where a 1
  • 如何在 SQL 中引用自定义字段

    我正在使用 mssql 但在使用子查询时遇到问题 真正的查询相当复杂 但其结构与此相同 select customerName customerId select count from Purchases where Purchases c
  • 2 同一个表的同一列上的 PostgreSQL 索引 - 冗余吗?

    我有一个带有 2 个索引的 PostgreSQL 表 其中一项指数涵盖website id and tweet idcolumns 是唯一的 B 树索引 第二个索引仅涵盖website id列 并且是非唯一索引 如果第一个索引存在 第二个索
  • 在 SQL 中用加号 (+) 显示正结果

    我有以下查询 SELECT CONVERT DECIMAL 11 1 SUM Column 1000 1 AS NAME FROM Table 我有 1000 1 的原因是我希望结果以千为单位显示并反转 负值作为正值 反之亦然 只有一位小数
  • plpgsql 中的伪加密() 函数采用 bigint

    我正在开发一个生成随机 ID 的系统 如答案 2 所示here https stackoverflow com questions 12575022 generating an instagram or youtube like ungue
  • 确定自上次访问 SQL Server 以来的行更改

    我们有一个多用户系统 用户将数据保存到中央 SQL Server 2005 数据库中 我们遇到了一个问题 即一个用户刷新数据库中的更改 而另一个用户保存新数据 我们当前收集更改的方式是每个表上都有一个时间戳列 该列在每行插入 更新时都会填充
  • Django:ImageField 需要文件路径还是实际的图像对象?

    Running Windows 7 Python 3 3 Django 1 6 我对如何将图像存储为 Django 数据库中表的一部分感到困惑 有一个领域叫做ImageField 这是Docs https docs djangoprojec
  • 如何从 SQL Server 2008 返回由共享公共父级的多个选择构成的 XML

    我尝试过使用 FOR XML PATH FOR XML EXPLICIT 和 FOR XML AUTO 但数据从未采用正确的层次结构构建 基本上 我有一张父表 客户 和 3 个子表 每个表都有一个 customerid 列 Customer
  • 当表有聚集索引时,数据是如何存储的

    我发现了无数的帖子 开头都是这样的很多时候我遇到人们说 聚集索引根据聚集索引键对表内的数据进行物理排序 这不是真的 然后这些帖子继续描述它是如何通过链表或其他方式实际存储的 例如 这个post http sqlwithmanoj wordp
  • 仅选择 SQL 关系中的最大值?

    我有以下两个关系 Game id name year Devs pid gid role 其中 Game id 是主键 Devs gid 是 Game id 的外键 我想编写一个 SQL 查询来查找参与该游戏的人数最多的游戏 我写了以下查询
  • SQL 执行计划是基于架构还是数据,或者两者兼而有之?

    我希望这个问题不太明显 我已经找到了很多关于解释执行计划的好信息 但有一个问题我还没有找到答案 该计划 更具体地说是相对 CPU 成本 仅基于架构 还是数据库中当前的实际数据 我尝试对我的产品数据库中需要索引的位置进行一些分析 但正在使用我
  • 了解 Oracle Apex_Application.G_Fnn 以及如何使用它

    我对 Oracle apex application gfnn 的工作原理以及它是否仅适用于 Oracle ApEx 中的标准 SQL 报告或仅适用于 SQL 可更新报告 即表格形式 感到非常困惑 基本上我试图使用这个示例 SQL 来实现以
  • Oracle中表的列重新排序

    我有一个包含 50 多列的表 我需要交换前两列的顺序 使用 Oracle 实现此目的的最佳方法是什么 假设表名是 ORDERDETAILS 前两列是 ITEM ID 和 ORDER ID 重命名完成后 表名仍应为 ORDERDETAILS
  • LEFT JOIN 返回与 INNER JOIN 相同的结果

    我有一张桌子 磨砂膏 里面有 1600 个独特的物品 第二张桌子有100万以上 我运行 INNER JOIN 并获得 65 个匹配项 SELECT a BW Parent Number a Vendor Name b Parent Supp
  • 帮助将二进制图像数据从 SQL Server 读取到 PHP 中

    我似乎无法找到将二进制数据从 SQL 服务器读取到 PHP 的方法 我正在开发一个项目 需要能够将图像直接存储在 SQL 表中 而不是文件系统上 目前 我一直在使用这样的查询 插入 myTable 文档 选择 从 OPENROWSET BU
  • 为什么我的查询在参数化后会中断?

    我有 2 张桌子 Sales and Product Sales可以将产品存储为Idn or Name 传统设计 和Type列指定实际type与之相关 Product等是连接的子集表into这个表来获取真实的数据 在这个例子中 Produc
  • T-SQL 相当于 =rand()

    我有几个内容表 我想用随机的文本段落填充它们 在 MS Word 中 我只需输入 rand 即可 我收到三段新鲜的文字 是否有 SQL 脚本 命令可用于使用 t sql 生成随机字典单词 declare Lorem nvarchar max
  • 为什么 SQL Server 不推荐使用 SET ANSI_PADDING OFF?

    根据 MSDN BOL 在线书籍 SET ANSI PADDING http msdn microsoft com en us library ms187403 aspx 在 Microsoft SQL Server 的未来版本中 ANSI

随机推荐

  • IONIC 键盘隐藏在输入焦点上

    我正在编写一个 Ionic 应用程序 该应用程序将用于医疗保健领域的物流目的 用于此应用程序的设备具有内置条形码扫描仪并在 android 4 1 1 上运行 该扫描仪在输入字段中输入数据 并通过按 输入 键提交数据 由于扫描仪在某些情况下
  • 将本地存储从 Cordova 应用迁移到 Android 应用

    我们在 Playstore 中有一个使用 Cordova 开发的应用程序 现在我们已经在原生 Android 中重建了整个应用程序 现在我们希望在不注销的情况下将用户从以前的应用程序升级到新应用程序 为此 如何将Cordova window
  • 根据累计和和组创建新组

    我希望根据两个条件创建一个新组 我希望在 Value 的累计总和达到 10 之前将所有案例分组在一起 并且我希望在每个人中完成此操作 我已经设法让它分别适用于每个条件 但不能同时使用 for 循环和 dplyr 但是 我需要同时应用这两个条
  • 如何使用 IntelliJ 将外部库的源代码和 javadoc 添加到 gradle?

    我已经使用 IntelliJ 和 Gradle 建立了一个 Java 项目 我的根项目中有一个 build gradle 文件 我可以编译并运行我的应用程序 然而 我正在使用一个Java 库 它附带了源代码和javadoc zip 文件 如
  • 如何删除 div 和页面顶部之间的空间?

    这可能已经被问过一百万零一次了 但如果有人能向我解释 div 的行为 我将不胜感激 我有一个容器 div 我将其对齐在页面的中心 页面的顶部和顶部之间有一个间隙 我希望它与页面顶部齐平 我假设有某种我需要删除的边距或填充 但我无法想象它可能
  • OSX Mac App Store:如何安装守护进程 shell 脚本

    我想为 Mac App Store 编写一个涉及安装守护程序的应用程序 守护进程可以是一个非常简单的 Hello World shell 脚本 可以是 Bourne shell 或 Python 它应该在每次机器启动时自动运行 我尝试使用安
  • 如何在谷歌应用程序引擎中的留言簿中的每个帖子下添加日期和时间

    这是代码 import cgi import datetime import wsgiref handlers from google appengine ext import db from google appengine api im
  • 单击按钮时一个片段到另一个片段

    我已经学会了如何在单击按钮时将片段活动从一个更改为另一个 所有都是片段活动 但现在我遇到了同一片段上多个按钮的问题 只有第一个按钮 id 有效 我有多个按钮 每个按钮都有不同的片段活动 需要帮忙 package com test fragm
  • 将特定标头添加到 bitbake wget fetcher

    我需要设置一个特定的标头以使用以下命令从资源中获取存档wgetfetcher 类似于 wget header PRIVATE ACCESS TOKEN blablablablabla https some resource 如何使用该获取器
  • 如何在 iOS Swift 中将数据数组回调到另一个 viewController

    在createCardVC中 我使用carbonKit库来显示标签栏 最初 使用静态数据加载的数据数组 但现在我尝试使用来自 webView javascript postMessage 的数据数组 当 createCardVC 加载时 第
  • C++11 递归可变参数模板

    我想了解递归可变参数模板是如何工作的 include
  • Java 中的“快速”整数幂

    简短回答 糟糕的基准测试方法 你可能认为我现在已经明白了 该问题被表述为 找到一种快速计算x y的方法 其中x和y是正整数 典型的 快速 算法如下所示 public long fastPower int x int y Replaced m
  • 并发修改异常[重复]

    这个问题在这里已经有答案了 我有一小段代码 它给了我并发修改异常 我无法理解为什么我不断收到它 即使我没有看到任何并发修改正在进行 import java util public class SomeClass public static
  • SQL Server 和 Firebase/PouchDB 同步

    我正在构建一个 Web 应用程序 客户端需要在离线状态下通过浏览器访问数据存储 我正在考虑使用 Firebase 或 PouchDB 数据库在应用程序内实现此目的 但是 对于后端 我使用 SQL Server 我可以将 Firebase P
  • HTML 或 CSS 中的“父级”是什么?

    我被介绍到以下代码 div Here is span a span element span which is blue as span elements are set to be div div class extra style co
  • 如何在打字稿中将 array.map 与元组一起使用?

    每当我使用array map对于元组 Typescript 将其推断为通用数组 例如 以下是简单 3x3 数独游戏的一些片段 const a Blank type Blank typeof type Cell number Blank ty
  • 当扩展复杂类型时混合继承吗?

    我的架构中有以下内容
  • 迭代日期范围(scala 方式)

    给定开始日期和结束日期 我想使用 foreach map 或类似函数按天迭代它 就像是 DateTime now to DateTime now 5 day by 1 day foreach println 我在用https github
  • 放置新的零会占用内存吗?

    我有以下代码 struct foo void bar foo d new d foo d 是否表达new d foo d 留下指向的对象d不变 更具体地说 如果类foo并且其中递归包含的所有对象都只有简单的复制构造函数 那么new d fo
  • SQL 条件求和

    我目前有一个大型 SQL 语句 我将以下行添加到其中 以便获取每个交易 ID 的总现金 这是唯一的 select sum cash from Table a where a branch p branch and a transID p t