当前位置:我的异常网» DB2 » db2 case when和oracle兼容有关问题

db2 case when和oracle兼容有关问题

www.myexceptions.net  网友分享于:2013-02-14  浏览:38次

db2 case when和oracle兼容问题

create view VDA_BORROWDISPLAY

(arid,arname,arcode,

createdate,keyword,orgid,

orgname,archivepropertype,archiveproid,

secretlevel,storeterm,

cabcode,facecode,gridcode,

boxcode,layercode,storename,

colcode,isdel,isDisplay)

as

select c.ID arid,c.name arname,c.code arcode,

c.create_date createdate,c.keyword keyword ,organ.organid orgid,

organ.organname orgname, archivepro.name archivepropertype,c.archive_pro_id archiveproid,

enum.name secretlevel,enum1.name storeterm,

cab.code cabcode,face.llabel facecode,grid.code gridcode,

box.code boxcode,layer.code layercode,storehouse.name storename,

col.code colcode,c.isdel isdel,

case

when c.id in (select b.archive_id

from tda_borrow_list a, tda_borrow_detail b

where a.id = b.borrow_list_id

and a.return_date is null) then

'0'

else

'1'

end as isDisplay

from tda_archive c

left JOIN TORG_ORGAN organ ON c.org_id=organ.organid

left JOIN TDM_ENUMITEM enum on c.secret_level=enum.enumid

left JOIN TDM_ENUMITEM enum1 on c.storeterm_id=enum1.enumid

left JOIN TDA_PLACE place on c.place_id=place.id

left JOIN Tda_Col col on col.id=place.col_id

inner JOIN tda_archive_pro archivepro on c.archive_pro_id=archivepro.id

inner JOIN Tda_Cabinet cab on cab.id=place.cabinet_id

inner JOIN Tda_Face face on face.id=place.face_id

inner JOIN Tda_Grid grid on grid.id=place.grid_id

inner JOIN Tda_Layer layer on layer.id=place.layer_id

inner JOIN Tda_Box box on box.id=place.box_id

inner JOIN Tda_Store_House storehouse on storehouse.id=place.store_house_id

以上是视图 该视图在oracle上可以 db2上报错

具体问题如下:

16:43:52 [CREATE - 0 row(s), 0.000 secs] [Error Code: -115, SQL State: 42601] [SQL0115] Comparison operator IN not valid.

... 1 statement(s) executed, 0 row(s) affected, exec/fetch time: 0.000/0.000 sec [0 successful, 0 warnings, 1 errors]

急啊!求朋友帮忙解决下!

------解决方案--------------------

select *,case when b1.archive_id is null then '1' else '0' end as isDisplay from (

select c.ID arid,c.name arname,c.code arcode,

c.create_date createdate,c.keyword keyword ,organ.organid orgid,

organ.organname orgname, archivepro.name archivepropertype,c.archive_pro_id archiveproid,

enum.name secretlevel,enum1.name storeterm,

cab.code cabcode,face.llabel facecode,grid.code gridcode,

box.code boxcode,layer.code layercode,storehouse.name storename,

col.code colcode,c.isdel isdel

from tda_archive c

left JOIN TORG_ORGAN organ ON c.org_id=organ.organid

left JOIN TDM_ENUMITEM enum on c.secret_level=enum.enumid

left JOIN TDM_ENUMITEM enum1 on c.storeterm_id=enum1.enumid

left JOIN TDA_PLACE place on c.place_id=place.id

left JOIN Tda_Col col on col.id=place.col_id

inner JOIN tda_archive_pro archivepro on c.archive_pro_id=archivepro.id

inner JOIN Tda_Cabinet cab on cab.id=place.cabinet_id

inner JOIN Tda_Face face on face.id=place.face_id

inner JOIN Tda_Grid grid on grid.id=place.grid_id

inner JOIN Tda_Layer layer on layer.id=place.layer_id

inner JOIN Tda_Box box on box.id=place.box_id

inner JOIN Tda_Store_House storehouse on storehouse.id=place.store_house_id) a1

left join

(select b.archive_id

from tda_borrow_list a, tda_borrow_detail b

where a.id = b.borrow_list_id

and a.return_date is null) b1

on a1.arid=b1.archive_id

------解决方案--------------------

文章评论

db2 兼容 oracle 语法,db2 case when和oracle兼容有关问题相关推荐

  1. oracle与DB2

    1.体系结构,DB2的实例和数据库分开的做法,我个人还是比较喜欢的,因为实例可以创建多个,数据库的恢复直接恢复到实例下就可以了,相对ORACLE简单多了. 2.管理工具,DB2的管理工具做得太简陋了, ...

  2. oracle和db2之间的基本差别

    Oracle 和 DB2的区别如下: 1.取前N条记录 Oracle:Select * from TableName where rownum <= N; DB2:Select * from T ...

  3. SQL Server与Oracle、DB2三种数据库比较

    开发数据库应用,选择一个好的数据库是非常重要的.本文从一些方面比较了SQL Server与Oracle.DB2三种数据库,为你选择数据库提供一些参考. 开放性 SQL Server 只能在Window ...

  4. db2 数字转换字符 oracle和db2的sql语句区别

    oracle: lock t able your_table in share row exclusive mode; db2 : lock table your_table in exclusive ...

  5. db2转oracle中文字符串,DB2 中从Oracle向DB2转换的步骤,标题写的很好,但内容完全看不懂啊。能否用汉字一步一步写下大体过程?...

    IBM给出的Oracle到DB2迁移分为四个五个阶段:评估,PoC, 数据库对象和数据迁移,应用迁移,测试. 其中IBM提供了一些工具可以用在不同的阶段帮助我们迁移. 在评估阶段,IBM提供了Auto ...

  6. Oracle数据库联邦,使用联邦数据库将oracle表迁移到DB2(9.7)中的脚本说明

    由于兄弟项目组要测试,需要将oracle中的表迁移到db2中,操作步骤如下: #1 在windows数据库中建联邦数据库服务器\用户映射 connect to sample CREATE WRAPPE ...

  7. Oracle VS DB2 数据类型

    =========================Oracle VS DB2==================================== 本文转自:http://www.bitscn.co ...

  8. oracle text db2,从Oracle 到DB2(一)

    在实际的软件项目的开发过程中,特别是在企业的应用系统集成(EAI)项目中广大开发人员经常遇到不同关系型数据库之间的数据移植问题.笔者根据自己在工作中的不同数据库数据移植的经验经过通用化的java应用程 ...

  9. (转)Oracle与DB2在数据库高可用技术上的相同与差异探讨

    原文:http://www.talkwithtrend.com/Article/178339 数据库建设过程中,高可用是每一个企业数据中心数据库建设过程中至关重要的一个关注点,直接关系到业务连续性和稳 ...

最新文章

  1. Java读写文件,中文乱码解决
  2. 环信-获取未读消息数量
  3. Linux下FTP服务器搭建
  4. [转载] Knowledge Management and Enginnering——02 知识表示方法
  5. 从子窗体传递数据给父窗体
  6. Drozer快速使用指南
  7. 双向特征融合的数据自适应SAR图像舰船目标检测模型
  8. 中国通用测试设备(GPTE)行业市场供需与战略研究报告
  9. OpenCV距离变换函数:distanceTransform()介绍
  10. 编写 Window 服务程序
  11. Java基础,不需要使用复杂语句,实现出计算机功能,Java计算机,Java计算器
  12. 将xml 写到内存中再已string类型读出来
  13. 智慧路灯网关下的校园智慧路灯照明解决方案
  14. NotNorthwind-更新#1-您所有的Northwind都属于我们
  15. 苹果退款_这里有颗“后悔药”:苹果App Store退款流程
  16. 金色传说:SAP-FICO-COPA:创建销售订单时,获利能力段不自动带出,报错消息号KE0C133:特性值 2720000100000001对于特性 EXTWG 不存在 (外部物料组)
  17. 北京化工大学2018年10月程序设计竞赛 F. 罗dalao的密码(递归)
  18. 大厂软件测试流程完整版
  19. 好玩的表情包机器人微信小程序源码下载支持直接搜索仿聊天界面
  20. 计算机专业论文在线教育,在线教育系统 计算机毕业论文.doc

热门文章

  1. react实现的点击拖拽元素效果
  2. Tinyhttpd 代码学习
  3. 轻量级数据sqlite的C++调用示例
  4. this关键字实现串联构造函数调用
  5. RTT的内存管理篇——野火RTT讲解
  6. 从RT-Thread RTOS接触到的3个算法
  7. CCF202012-1 期末预测之安全指数
  8. 计算机三级-数据库-数据库应用系统开发方法
  9. SQL必知必会-约束
  10. SQL必知必会-创建表和操纵表