0 0

sql 条件查询case when5

select *
  from (case when(t1.bxdw = t2.bxdw) then
         select t1.bxdw bxdw,
                (t1.zje - t2.zje) pk,
                t1.tpfy tpfy,
                (t1.yx - t2.tpsm) yx,
                t2.tpsm tpsm,
                (t1.zje - t2.zje + t1.tpfy) zje else
                 select t1.bxdw bxdw,
                        t1.zje pk,
                        t1.tpfy tpfy,
                        t1.yx yx,
                        (t1.yx - t1.yx) tpsm,
                        (t1.zje + t1.tpfy) zje end
                   from (select bxdw,
                                sum(zjje) zje,
                                count(*) yx,
                                sum(tpfy) tpfy
                           from CWXT_JPDG_B_YDXX
                          group by bxdw) t1,
                        (select bxdw, sum(zjje) zje, count(*) tpsm
                           from CWXT_JPDG_B_YDXX
                          where sftp = 1
                          group by bxdw) t2
                
                 )
在when条件哪里报缺失右括号的错误  请问错误是什么  怎样改正
 
2014年12月15日 12:55

1个答案 按时间排序 按投票排序

0 0

采纳的答案

case when不是这么用的。。

SELECT (case when cl.colno=cc.colno then cl.cola||cc.colb else cl.colb||cc.colc end) as testa,
(case when cl.colno=cc.colno then cl.sortno||cc.colc else cl.colf||cc.colg end) as testb  FROM  tabcl cl,tabcc cc

按你的sql大概可以改成这样
select t1.bxdw,(case when t1.bxdw = t2.bxdw then (t1.zje - t2.zje) then t1.zje end) as pk,t1.tpfy,
(case when t1.bxdw = t2.bxdw then (t1.yx - t2.tpsm) else t1.yx end) as yx,
(case when t1.bxdw = t2.bxdw then t2.tpsm else (t1.yx - t1.yx) end) as tpsm,
(case when t1.bxdw = t2.bxdw then (t1.zje - t2.zje + t1.tpfy) else (t1.zje + t1.tpfy) end) as zje from ......
没有办法测试,你自己测一下。

2014年12月16日 10:45

相关推荐

    case when和sum case when 写法及拼接字段

    在 SQL 查询语言中,`CASE WHEN` 结构是一种非常有用的工具,可以用来根据条件返回不同的值。它的工作原理类似于编程语言中的 `if...else` 语句,但在 SQL 中用于创建动态列或进行复杂的条件判断。 #### 基本语法 ...

    oracle where case when where后面跟case when

    在Oracle数据库中,`WHERE`子句是SQL查询语句的一部分,用于指定查询条件,而`CASE WHEN`语句则是一种条件表达式,允许我们基于不同的条件返回不同的值。将`CASE WHEN`嵌套在`WHERE`子句中,可以实现更复杂的逻辑...

    sql数据库 转 Access SQL语句改写之 Case When Then When Then Else End

    在SQL中,`CASE WHEN THEN`是一种常用的条件表达式,用于根据不同的条件返回不同的值。而在Microsoft Access中,则主要通过`IIF`函数或者`SWITCH`函数来实现类似的功能。 **SQL中的CASE WHEN THEN结构示例:** ```...

    SqlServer使用 case when 解决多条件模糊查询问题

    总之,`CASE WHEN` 是SQL Server中处理条件逻辑的关键工具,特别适用于处理多条件查询、数据分类和分析。它不仅提高了查询效率,还增强了代码的安全性,是数据库开发者必备的技能之一。了解并熟练掌握`CASE WHEN` 的...

    casewhen多条件oracle-casewhen(casewhen同时满足多条件).pdf

    CASE WHEN 语句是 SQL 中的一种条件语句,用于实现多个条件的判断和执行。它可以用来代替 IF 语句和 SWITCH 语句,在 Oracle 数据库中尤其常用。 CASE WHEN 语句的基本语法是: ```sql CASE WHEN 条件 THEN 结果 ...

    sql case when exists not exists in not in

    在SQL查询中,`CASE WHEN`、`EXISTS`、`NOT EXISTS`以及`IN`和`NOT IN`是常用的操作符,它们用于处理复杂的条件判断和数据筛选。这些概念对于理解和编写高效的SQL语句至关重要,尤其是在数据分析和数据库管理中。 `...

    SQL Server中Case 的不同用法

    在SQL Server中,CASE表达式是一种强大的工具,用于在查询中进行条件判断和逻辑操作。它的功能远不止创建新字段那么简单,而是可以在多个方面增强你的SQL查询能力。以下是对CASE关键字在SQL Server中不同用法的详细...

    SQL利用Case When Then多条件判断

    sql 存储过程 常见的问题 自己用也可分享

    SQL__case_when_then_的用法

    SQL__case_when_then_的用法

    sql中的case用法

    Case 语句是 SQL 中一种强大的语句,用于根据不同的条件执行不同的操作。它可以用来实现复杂的逻辑操作,并且可以与其他 SQL 语句结合使用以实现更加复杂的查询。 SQL 中 Case 语句有两种格式:简单 Case 函数和 ...

    详细解析 mysql 中的 case when 语句的使用

    ### MySQL中的Case When语句详解 ...此外,`CASE WHEN`还可以与其他SQL语句结合使用,比如聚合函数、子查询等,以满足更复杂的业务需求。希望本文能帮助你更好地理解和使用MySQL中的`CASE WHEN`语句。

    case when then

    一条sql语句就能让你case when then怎么用,什么时候用

    SQL中case语法的使用

    在SQL查询语言中,`CASE`语句是一个非常重要的功能,它可以用来构建复杂的条件逻辑,实现对数据的灵活处理。本文将深入探讨SQL中的`CASE`语法及其应用场景。 #### 一、基本概念 `CASE`语句允许我们在SQL查询中根据...

    SQL学习六-CASE WHEN

    SQL学习六-CASE WHEN

    SQL中Case语句用法讨论_BJ

    在SQL查询语言中,`Case`语句是一个非常强大的功能,用于在查询中执行条件判断,它可以根据不同的条件返回不同的结果,这使得SQL能够处理更加复杂的数据筛选和转换需求。`Case`语句有两种基本形式:简单`Case`表达式...

    sql学习 催人泪下-CASE WHEN改造.sql

    sql学习 催人泪下-CASE WHEN改造.sql

    MySQL中使用case when 语句实现多条件查询的方法

    本文将深入探讨如何使用`CASE WHEN`语句实现多条件查询,特别是针对给定的示例场景。 首先,让我们了解`CASE WHEN`的基本语法。`CASE WHEN`语句通常用于SQL查询中的`SELECT`, `WHERE`, `HAVING`等子句中,它允许...

    case乱码解决

    mysql 中case when 遇到乱码解决。查询语句中含有case引起中文乱码解决方法

Global site tag (gtag.js) - Google Analytics