比这个还长的sql语句我都写过,只不过我在其中有些环节用自编的函数来实现的,你不妨想想其他方法。因为你的语句实在太多,又不明白你到底要实现什么功能,给你分开也是瞎分。不能解决问题
解决方案 »
- sqlplus 里面可以查询数据吗?
- 我的oracle 11g 是不是安装成功?
- 求oracle文档介绍,使用指南
- 求助,oracle obdb driver for linux 驱动 liboraodbc.so ???
- oracle ora-12535 tns:操作超时
- oracle调用C连接库问题。谢谢啦
- oracle 截取字符串问题。
- oracle9i 中文版 有没有自带图形界面的数据库管理器啊
- 我的企业管理器(OEM)里看不到数据库(database)会是什么原因!如何设置!
- 欢迎大家参与!!谢谢!!100分!!!
- 请问在Oracle中怎么实现SqlServer中的自增?
- 今天下午去面试,问道Oracle与SQL server的主要区别是什么,你认为因该怎么回答?
1。将
DECODE(K.HBSVIRUS, '+', (SELECT NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '01') ) || DECODE(K.HBEVIRUS, '+', (SELECT ',' || NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '02') ) || DECODE(K.HCVIRUS, '+', (SELECT ',' || NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '03') ) || DECODE(K.MRSAVIRUS, '+', (SELECT ',' || NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '04') ) || DECODE(K.WARVIRUS, '+', (SELECT ',' || NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '05') ) || DECODE(K.TPHAVIRUS, '+', (SELECT ',' || NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '06') ) || DECODE(K.HIVVIRUS, '+', (SELECT ',' || NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '07') ) || DECODE(K.ATLAVIRUS, '+', (SELECT ',' || NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '08') ) || DECODE(K.PYOVIRUS, '+', (SELECT ',' || NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '09') ) || DECODE(K.TBVIRUS, '+', (SELECT ',' ||NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '10') ) || DECODE(K.CHILDINFECTION, '+', (SELECT ',' || NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '11') ) || DECODE(K.INFECTION1, '+', (SELECT ',' || NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '12') ) || DECODE(K.INFECTION2, '+', (SELECT ',' || NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '13') ) || DECODE(K.INFECTION3, '+', (SELECT ',' || NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '14') ) || DECODE(K.INFECTION4, '+', (SELECT ',' || NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '15') ) || DECODE(K.INFECTION5, '+', (SELECT ',' || NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '16') ) || DECODE(K.INFECTION6, '+', (SELECT ',' || NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '17') ) || DECODE(K.INFECTION7, '+', (SELECT ',' || NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '18') ) || DECODE(K.INFECTION8, '+',(SELECT ',' || NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '19') ) || DECODE(K.INFECTION9, '+', (SELECT ',' || NAME FROM COMCONST WHERE TABLEKIND = 'C13Infection' AND CODE = '20') ) NAME
部分做成一个单独的函数,用于生成NAME。2.将主语句from后边作为表名出现的(select ..from ..)语句独立出来,建立view,然后直接引用view名作为表名。3.书写select语句时要有层次,复杂的语句每个字段名作为一行,select 、from、where要单独突出,子语句要缩格,这样方便阅读。