精华内容
下载资源
问答
  • 对于这种情况,因为表里存的是”,其实是没有内容的,要查询个字段能直接使用 select * from a where b1=’’; sql中判断非空能用等号,因为null在sql中被看作特殊符号,必须使用关键字 is和not 应该如此...

    比如

    insert into table a (a1,b1)values(“a1”,’’);

    对于这种情况,因为表里存的是”,其实是没有内容的,要查询这个字段,不能直接使用

    select *
    from a
    where b1=’’;

    sql中判断非空不能用等号,因为null在sql中被看作特殊符号,必须使用关键字 is和not
    应该如此使用:

    select * from A where b1 is null
    或者:
    select * from A where b1 is not null

    展开全文
  • 1.distinct是针对多字段完全一样的去重 ...2.多个字段针对其中一个字段去重: select * from BB_CREDIT_RESULT where rowid in (select max(rowid) from BB_CREDIT_RESULT group by COURSE_ID) ...
    1.distinct是针对多字段完全一样的去重
    
    2.多个字段针对其中一个字段去重:
    select * from BB_CREDIT_RESULT where rowid in (select max(rowid) from BB_CREDIT_RESULT group by COURSE_ID)
    展开全文
  • oracle中,多个字段合并式行转列查询实践案例。

    对于主、从表数据结构,存在显示主表数据时,同时在此行数据中显示子表多行数据,简单的说就是行转列。

    在流程应用中,由于会签环节存在多人同时处在待办的情况,这样,查询流程运行情况时,有单行同时显示多行待办记录的情况。

    对于此需求,可以在oracle中使用wm_concat函数进行行转列处理。

    select wm_concat(t.task_receiver_id) receiver_id,wm_concat(t.task_receiver) receiver,
        wm_concat(to_char(t.create_datetime,'yyyy-mm-dd HH24:MI:ss')) start_datetime 
      from pnd_task t 
      where t.biz_instanceid = '5724c50c-14b8-11e5-fcce-bbabd873dbe0'

    上述代码存在缺陷,三个字段不按顺序排列。

    通过把查询目标字段并(用引号里的操作符“||”)在一起的方式,并且,中间用逗号分隔,修改sql代码如下:

    select tt.* ,t.* from biz_info_instance tt,
    (select t.biz_instanceid biz_instanceid ,wm_concat(t.task_receiver_id||','||t.task_receiver||','||to_char(t.create_datetime,'yyyy-mm-dd HH24:MI:ss'))  
    from pnd_task t group by t.biz_instanceid ) t
    where t.biz_instanceid = tt.biz_instanceid and
    tt.mongo_bo_id = '56e0f3cf84ae13d64998a26d'

    另一种方式:

    select tt.* ,(select wm_concat(t.task_receiver_id||','||t.task_receiver||','||to_char(t.create_datetime,'yyyy-mm-dd HH24:MI:ss'))  
    from pnd_task t where t.biz_instanceid = tt.biz_instanceid group by t.biz_instanceid )
     from biz_info_instance tt
     where 
    tt.mongo_bo_id = '56e0f3cf84ae13d64998a26d'

    1、查询业务实例处理情况:

    select tt.biz_instanceid,tt.status,tt.create_id,tt.create_name,tt.start_date,tt.end_date ,(select wm_concat(t.task_receiver_id||','||t.task_receiver||','||to_char(t.create_datetime,'yyyy-mm-dd HH24:MI:ss'))
    from pnd_task t where t.biz_instanceid = tt.biz_instanceid group by t.biz_instanceid )  task_receiver
     from biz_info_instance tt

    查询结果如下:

    这里写图片描述

    2、查询查询未完成流程实例,有待办的的情况:

      select tt.biz_instanceid,tt.status,tt.create_id,tt.create_name,tt.start_date,tt.end_date ,(select wm_concat(t.task_receiver_id||','||t.task_receiver||','||to_char(t.create_datetime,'yyyy-mm-dd HH24:MI:ss'))
    from pnd_task t where t.biz_instanceid = tt.biz_instanceid and t.status = 0 group by t.biz_instanceid )  task_receiver
     from biz_info_instance tt
      // 如果按文档ID条件查询,补充如下语句内容: 
     where t.mongo_bo_id in ('文档ID','文档IDn')
    

    参考:
    Oracle行转列、列转行的Sql语句总结》 2015.01 X-rapido的专栏

    展开全文
  • select (case when 第二字段 is not null then 第二字段 else 第一字段 end) 字段名 from table_name;
    select 
    (case when 第二字段 is not null  then 第二字段 else 第一字段 end) 字段名 from table_name;
    展开全文
  • ![图片说明](https://img-ask.csdn.net/upload/201507/27/1437960606_202720.png)
  • 一张表里有多个字段 比如 a 1 b 2 c 3 能能用一个input输入任何一个条件和这张表匹配。 比如我输入a 查出a 1 输入2 查出b 2
  • Oracle中修改某个字段可以为空

    万次阅读 2016-04-22 18:34:42
    待修改字段假定为:shuifen ...当待修改字段不为空时: 新增一列 把要改变的列的值转移过去并清空原列的值 改变列的数据类型 把值转移回来,并删除新增的列 alter table reportqymx add shuifen_temp number(10);
  • 开发过程中遇到个需求,用户要提取的数据列中包含 YF、ZF、JD的字符串,方法1:select * from table where order_no not like '%YF%' and order_...想到REGEXP_LIKE 可以实现包含多个,在前面加上 not 就可...
  • Oracle 多个字段重复查询

    千次阅读 2017-11-08 15:24:54
    查询重复数据 select * from app_jf_value t1 where (t1.jfindcode, t1.areacode, t1.kpitype, t1.created_at) in (select jfindcode, areacode, kpitype, created_at
  • 今天在Oracle数据库的查询语句中,想将一个表的多个字段合并一个字段来显示,于是就学SQL那样,select a+b as c from table,然而总是报错,看来Oracle的语法跟SQL的语法还完全一样,于是问了搞Oracle的同事,...
  • 首先介绍两函数: Oracle Least()函数 Oracle Greatest()函数
  • Oracle-update同时更新多个字段多个值

    万次阅读 2018-06-14 16:36:46
    --做同时更新多个字段的update语句 UPDATE cux_test_table_a a SET (a.a2  ,a.a3) =  (SELECT b.b2  ,b.b3  FROM cux_test_table_b b  WHERE b.b1 = a.a1  AND a.a3 = 100) WHERE EXISTS (SELECT '...
  • 根据字段查询表名,但是查来查去,网上都是只能根据一个字段,查询出这个字段对应的所有表名,这样就查询了很多的表,经过搜索,有了一些启发,才有了下面的sql语句,根据多个字段查询唯一的表名称。...
  • oracle多个字段合并成一个字段

    千次阅读 2016-12-31 17:11:08
    SELECT T2.ATTR_CODE ATTR_CODE, T1.FILE_ID || '_' || T1.FILE_NAME ATTR_VALUE  FROM PIM_FILE T1,  PIM_ORDER_ADD T2 ;
  • 今天记录一下在oracle多个字段如何和合并成一个字段,使用到符号“||” 1、组合查询的数据 1)组合前查询的语句 -- 组合前数据的字段 -- select A.MID CATE_ID,A.Code CATE_CODE,A.Name CATE_NAME,A.GoodsType ...
  • Oracle根据多个字段进行查重

    千次阅读 2017-07-14 17:16:56
    根据两个字段去重 (a,b) select * from tab t where (t.a, t.b) in (select t1.a, t1.b from tab t1 group by (t1.a, t1.b) having count(*) > 1
  • select f1,f2,f3 into v1,v2,v3 from tab1 转载于:https://www.cnblogs.com/senyier/p/7666313.html
  • SELECT user_id || '|' || user_name as ss FROM Table
  • oracle查询对某个字段进行去重处理

    万次阅读 2019-08-21 10:10:21
    oracle查询对某个字段进行去重处理需要使用distinct函数 比如从A表查询aa字段和bb字段,然后对aa字段进行去重,查询语句如下: SELECT distinct(a.aa) as aa,a.bb as bb FROM A a 提示:去重的字段必须放在第一...
  • oracle查询根据某个字段去重,根据另一个字段决定取哪一条数据 简单举例就是在一张学员考试表(student)中有的学员考试参加了次取最后一次的数据,如表中数据有: 需要得到的结果是: 下面直接给出该查询的SQL...
  • select * from 表名 c where (c.name='110' or c.gonghao='110') and c.state not like '%1%' order by c.id desc;
  • oracle语法查某个字段为空

    千次阅读 2018-01-18 11:30:00
    select * from t_address_express_mapping t where t.start_house_number is null; 转载于:https://www.cnblogs.com/hongming-blogs/p/8309322.html
  • oracle多个字段组成唯一索引约束

    千次阅读 2018-11-26 18:59:02
    已经验证!!!欢迎相互学习交流 --原来EXPENSE_ITEM_CODE, EXPENSE_TYPE_CODE, EXP_REPORT_TYPE_CODE这三个唯一索引...注意事项(报错dupplicate keys found,若表中要创建的唯一索引约束的四个字段在数据库该表...
  • Oracle 多个字段去重

    千次阅读 2019-05-28 10:36:28
    SELECT DISTINCT SUBSTR(d.DEPT_ID, 0, 2) DEPT,d.SECURITY_CHECK --截取前俩位判断去重复 FROM SAF_T_INSPECTION_DEPT d SELECT A .desc_, A .ID_, B.CHECK_TYPE FROM ( SELECT * ......

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 205,294
精华内容 82,117
关键字:

oracle查询多个字段不为空