1、以一表为例:bill 单据表
--------------------------------------------------------------------------
id billno status amount create_date
-------------------------------------------------------------------------
1 GR0001 GR 155 2009-09-09
2 DO0001 DO 150 2009-09-09
2 SO0001 SO 153 2009-09-09
-------------------------------------------------------------------------
说明:
status:GR表示“进货单”
status:DO表示“出货单”
status:SO表示“销售单”
2、实现按日期统计进货、销售、出货,
针对mysql使用如下sql
select create_date,
sum(if(status='GR',amount,0)) as am1,
sum(if(status='DO',amount,0)) as am2,
sum(if(status='SO',amount,0)) as am3
from bill group by create_date
针对oracle使用如下sql
select create_date,
sum(decode(status,'GR',amount,0)) as am1,
sum(decode(status,'DO',amount,0)) as am2,
sum(decode(status,'SO',amount,0)) as am3
from bill group by create_date
3、效果如下
-----------------------------------------------------
create_date am1 am2 am3
-----------------------------------------------------
2009-09-09 155 150 153
分享到:
相关推荐
在这种情况下,我们需要使用多条件模糊查询来实现查询。 如何使用 Python 实现多条件模糊查询 使用 Python 实现多条件模糊查询需要几个步骤: 1. 首先,我们需要连接 MySQL 数据库。可以使用 Python 的 MySQL ...
sum函数中使用if判断条件:{ sum( IF (order_type = 0, real_price, 0) ) AS '当天支付收入', sum( IF (order_type = 1, real_price, 0) ) AS '当天打赏收入', } count(DISTINCT open_id) AS '付费总人数', count
根据上面的条件判断,最终形成的SQL语句将只包含那些非空或非默认值的条件。 ### 安全性和性能考虑 #### 安全性 - **防止SQL注入**:在实际应用中,为了防止SQL注入攻击,建议使用预编译语句(如...
在SQL Server中,有时我们需要对数据库外部的文件进行操作,比如判断文件是否存在或者根据需要删除文件。本篇文章将详细介绍如何使用SQL Server内置的扩展存储过程来实现这一目标,特别是当文件可能包含空格时如何...
在本示例中,我们将深入探讨如何利用MyBatis的动态SQL功能来完成多条件查询,特别是通过`if`标签进行条件判断,以实现更加灵活的数据库操作。 首先,MyBatis是一个优秀的持久层框架,它允许开发者将SQL语句直接写在...
判断表是否存在于SQL Server中的方法与判断数据库存在类似,但使用的是不同的系统目录视图。下面的SQL语句展示了如何判断一个表是否存在: ```sql IF EXISTS ( SELECT 1 FROM sys.objects WHERE name = 'table...
目录 使用场景 动态标签 if标签 where标签 choose、when、otherwise 标签 ...if标签通常用那个胡where语句,update语句,insert语句中,通过判断参数值来决定是否使用某个查询条件,判断是否更新某一个字段或插入某个字段
在SQL Server中,管理和操作数据库对象是数据库管理员和开发人员日常工作中不可或缺的一部分。有时,我们需要判断特定的表名或字段名是否存在于数据库中,以便进行相应的操作,例如创建、修改或删除。SQL Server提供...
在 T-SQL 中,空值判断使用 IS NULL 语句,在 PL/SQL 中使用 IS NULL 语句。 空值替换在 T-SQL 中使用 Isnull 函数,在 PL/SQL 中使用 NVL 函数。 转换 在 T-SQL 中,字符转换使用 Convert 函数,例如 Convert...
`<if>`标签用于判断某个条件是否成立,如果成立,则插入对应的SQL片段。例如,在多条件查询中,我们可能有多个条件,如用户ID、用户名等,每个条件都可以用一个`<if>`标签来处理: ```xml SELECT * FROM user ...
本示例主要关注MyBatis中的动态SQL功能,特别是如何使用`if`和`where`标签来优化多条件查询,提高代码的可读性和灵活性。 在MyBatis中,动态SQL是一种强大的特性,它允许我们在XML映射文件中根据需求构建SQL语句。...
`<if>`元素是MyBatis动态SQL中最基础的条件判断标签,用于在构建SQL语句时进行条件判断。它的基本语法结构如下: ```xml <if test="propertyExpression"> SQL语句或片段 </if> ``` 其中,`test`属性是必须的,它...
根据给定文件的信息,本文将深入探讨SQL中的判断语句,特别是CASE表达式的使用方法及其在实际场景中的应用。此外,我们还将分析不同类型的CASE语句,并通过具体例子来加深理解。 ### SQL中的CASE表达式 #### CASE...
2. **控制流程语句**:这包括条件判断(IF-THEN-ELSIF-ELSE)和循环(WHILE、FOR、LOOP)。这些语句允许根据特定条件执行代码块或重复执行某段代码。 3. **异常处理**:在PL/SQL中,异常处理是通过EXCEPTION关键字...
当使用`<where>`标签时,它会智能地移除第一个“AND”或“OR”,从而避免了多余的条件判断。这对于构建含有多个查询条件的SQL语句非常有用。 ##### 使用场景 假设我们需要从数据库中查询博客信息,并允许用户根据...
同样可以使用`IF EXISTS`判断表是否存在。 **语法示例:** ```sql IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'[表名称]') BEGIN PRINT '表存在'; END ELSE BEGIN PRINT '表不存在'...
在Java编程中,检查SQL语法是否正确是一项重要的任务,它能确保我们的应用程序不会因为无效的SQL语句导致运行时错误。通常,我们可以通过使用数据库驱动提供的API或者利用第三方库来实现这一功能。在这个场景中,...
求解素数通常涉及到循环和条件判断,这对于编程来说是非常基础的操作。 ### 使用SQL Server 2005求解素数 下面将详细介绍如何使用SQL Server 2005编写一个简单的脚本来找出从m到n之间的所有素数: #### 步骤一:...
1. `<if>` 标签:用于条件判断,如果指定的条件为真,则包含的 SQL 片段会被插入到最终的 SQL 语句中。例如,当查询特定用户时,可以根据用户 ID 是否为空来决定是否添加 WHERE 子句。 ```xml <if test="id != null...