T-SQL Case 嵌套 Case

SELECT JournalEntryId,
       JournalEntryNo,
       CapitalChain,
       DataSource,
       EntrySummary,
       AccountSubject,
       CASE AccountSubject
         WHEN ‘应付账款‘ THEN ‘卡门网供应商‘
         WHEN ‘应收账款‘ THEN ‘卡门网客户‘
         WHEN ‘预收账款‘ THEN ( CASE
                              WHEN JournalEntryNo LIKE ‘API%‘ THEN ‘API预收客户款‘
                              WHEN JournalEntryNo = ‘CSC004‘ THEN ‘CSC预收客户款‘
                              WHEN JournalEntryNo = ‘CSC005‘ THEN ‘卡门网预收客户款‘
                              WHEN JournalEntryNo LIKE ‘KYS%‘ THEN ‘卡吧零预收客户款‘
                              WHEN JournalEntryNo LIKE ‘ZH%‘ THEN ‘卡门网预收客户款‘
                              WHEN JournalEntryNo LIKE ‘ZJC%‘ THEN ‘卡门网预收客户款‘
                            END )
         ELSE ‘‘
       END AS AccountSubjectDetail,
       DebitAmount*-1 AS DebitAmount,
       CreditAmount*-1 AS CreditAmount,
       OffsetCategory,
       CustomerSiteType,
       BusinessTypeId,
       JournalEntryTime,
       InputTime
FROM   dbo.JournalEntry
WHERE  JournalEntryTime >= ‘2015-08-23 00:00:00.000‘
       AND JournalEntryTime <= ‘2015-08-23 23:59:59.999‘
       AND AccountSubject IN (‘应收账款‘, ‘应付账款‘, ‘预收账款‘)
       AND CustomerSiteType = ‘外部站点‘
时间: 2024-11-03 09:46:43

T-SQL Case 嵌套 Case的相关文章

SQL中的case when then else end用法

转载自 http://lj.soft.blog.163.com/blog/static/7940248120109215191358/ Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方

【语法】SQL中的case when then else end用法-解决一个字段根据条件取不同值

Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方式,可以实现相同的功能.简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式. 还有一个需要

sql 语句之 case

case语句语法: --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 首先创建一张users表,其中包含id,name,sex三个字段,表内容如下: 复制代码 SQL> drop table users purge; drop table users p

你真的会玩SQL吗?Case的用法(转)

今天来总结整理一下Case,因为SQL查询中用得最多的逻辑判断. Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方式,可以实现相同的功能.简单Case函数的写法相对比较简洁,但是和Ca

SQL中的CASE的用法

CASE在SQL语句中,很有点类似java等高级编程语言中的switch这样子的多分枝语句,但是有点不同的是,case后面接的是when,另外,when的后续分枝有点类似if后面接else.这个是我的个人认识,case ..when..then..[else].. 下面,看看MySQL的帮助信息,可以看到case的基本语法结构: 1 topics: #CASE的两种基本用法 2 CASE OPERATOR 3 CASE STATEMENT 4 5 MariaDB [mysql]> help ca

SQL CHECK 约束&amp;Case when 的使用方法

1.CHECK 约束 SQL CHECK 约束 CHECK 约束用于限制列中的值的范围. 如果对单个列定义 CHECK 约束,那么该列只允许特定的值. 如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制. SQL CHECK Constraint on CREATE TABLE 下面的 SQL 在 "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束.CHECK 约束规定 "Id_P" 列必须只包含大于 0

sql中对于case when...then...else...end的写法和理解

查询配件主数据表(tbl_part_base_info)的所有数据和配件是否有物料(物料表(tbl_material)中有配件主数据表的part_no,就表示有物料,反之,则表示没有物料),用sql中的case when...then...else...end来实现 第一种写法: select info.*,(case when material.part_no is null then '否' else '是' end) hasMaterial from tbl_part_base_info 

吴恩达《深度学习》-课后测验-第三门课 结构化机器学习项目(Structuring Machine Learning Projects)-Week2 Autonomous driving (case study) (case study)( 自动驾驶 (案例研究))

Week2 Autonomous driving (case study) (case study)( 自动驾驶 (案例研究)) \1. To help you practice strategies for machine learning, in this week we'll present another scenario and ask how you would act. We think this "simulator" of working in a machine l

SQL中关键字Case的使用

本文非原创 它主要用来简化SQL表达式,在任何允许使用表达式的地方均可使用, 根据条件的不同返回不同的值. 注意:它不能单独执行,只能作为语句的一部分使用, 分为简单 case 表达式和搜索 case 表达式. 1.简单 case 表达式: 它是一个测试表达式与一组简单表达式进行比较,如果和某一个值相等, 则返回对应表达式的值. 语法: case 表达式 / 列名变量 when 测试值1 then 结果表达式1 when 测试值2 then 结果表达式2 …… else 结果表达式 end 例: