只改了里面的子查询,替换掉原来的语句就可以了
select * from DA_COMMENT_TEST T
where exists (select 1 from DA_COMMENT_KEY_DATA_TEST where DC_ID=T.DC_ID and DCKD_KEY_TYPE='C')
and exists (select 1 from DA_COMMENT_KEY_DATA_TEST where DC_ID=T.DC_ID and DCKD_KEY_TYPE='FU')
and exists (select 1 from DA_COMMENT_KEY_DATA_TEST where DC_ID=T.DC_ID and DCKD_KEY_VALUE='金逸')
and exists (select 1 from DA_COMMENT_KEY_DATA_TEST where DC_ID=T.DC_ID and DCKD_KEY_VALUE='55555')
and not exists (select 1 from DA_COMMENT_KEY_DATA_TEST where DC_ID=T.DC_ID and DCKD_KEY_TYPE not in ('C','FU')
and not exists (select 1 from DA_COMMENT_KEY_DATA_TEST where DC_ID=T.DC_ID and DCKD_KEY_VALUE NOT IN ('金逸','55555')
select * from DA_COMMENT_TEST T
where exists (select 1 from DA_COMMENT_KEY_DATA_TEST where DC_ID=T.DC_ID and DCKD_KEY_TYPE='C')
and exists (select 1 from DA_COMMENT_KEY_DATA_TEST where DC_ID=T.DC_ID and DCKD_KEY_TYPE='FU')
and exists (select 1 from DA_COMMENT_KEY_DATA_TEST where DC_ID=T.DC_ID and DCKD_KEY_VALUE='金逸')
and exists (select 1 from DA_COMMENT_KEY_DATA_TEST where DC_ID=T.DC_ID and DCKD_KEY_VALUE='55555')
and not exists (select 1 from DA_COMMENT_KEY_DATA_TEST where DC_ID=T.DC_ID and DCKD_KEY_TYPE not in ('C','FU')
and not exists (select 1 from DA_COMMENT_KEY_DATA_TEST where DC_ID=T.DC_ID and DCKD_KEY_VALUE NOT IN ('金逸','55555')
解决方案 »
- 列名的问题
- 求sql语句
- url地址&变&的问题
- 有谁用过Oracle的OEM工具进行过备份(不是用Exp/IEM命令)
- 多线程取oracle中数据
- SQL取记录问题
- 使用dblink同步另外一个oracle数据库,执行SQL语句后没有反应了,是怎么回事?
- 我用utl_file写文件,中文乱码
- 误删数据,于是recover database until time '2003-07-28:13:00:00',出错!
- 如何讲一个比里面的符合条件的数据提取出来,直接插入另一个结构相同的表?
- 校园卡数据显示不一致引发的思考
- sqlplus登录时的数据库名是SYSTEM,但用plsql登录时却是默认数据库名SQL
表增加DC_ID、DCKD_KEY_TYPE、DCKD_KEY_VALUE组合索引