open recur for SELECT DJBH,
decode(DJLX,2,'进货',3,'退火',9, '手发挥') "DJLX",
decode(DJLX,2,(select ZXRQ from JHD where JLBH=A.DJBH),
3,(select ZXRQ from THCL where JLBH=A.DJBH),
9,(select ZXRQ from JJBJD where JLBH=A.DJBH)) "DJRQ",
JSJE_BHS,(ZZSJE_17+ZZSJE_13+ZZSJE_QT) "ZZSJE",
(JSJE_BHS+ZZSJE_17+ZZSJE_13+ZZSJE_QT) "JSJE_HS"
FROM JXJSD_DJH A WHERE JLBH=27143 and DJLX<=9 and JSJE_BHS<>0;
存储过程中这句编译不过去,但是单独运行
SELECT DJBH,
decode(DJLX,2,'进货',3,'退火',9, '手发挥') "DJLX",
decode(DJLX,2,(select ZXRQ from JHD where JLBH=A.DJBH),
3,(select ZXRQ from THCL where JLBH=A.DJBH),
9,(select ZXRQ from JJBJD where JLBH=A.DJBH)) "DJRQ",
JSJE_BHS,(ZZSJE_17+ZZSJE_13+ZZSJE_QT) "ZZSJE",
(JSJE_BHS+ZZSJE_17+ZZSJE_13+ZZSJE_QT) "JSJE_HS"
FROM JXJSD_DJH A WHERE JLBH=27143 and DJLX<=9 and JSJE_BHS<>0
没有问题 。
我把第二个docode里的sql语句用单引号扩起来就可以了。
就是改成这样:
open recur for SELECT DJBH,
decode(DJLX,2,'进货',3,'退火',9, '手发挥') "DJLX",
decode(DJLX,2,‘(select ZXRQ from JHD where JLBH=A.DJBH)’,
3,‘(select ZXRQ from THCL where JLBH=A.DJBH)’,
9,‘(select ZXRQ from JJBJD where JLBH=A.DJBH)’) "DJRQ",
JSJE_BHS,(ZZSJE_17+ZZSJE_13+ZZSJE_QT) "ZZSJE",
(JSJE_BHS+ZZSJE_17+ZZSJE_13+ZZSJE_QT) "JSJE_HS"
FROM JXJSD_DJH A WHERE JLBH=27143 and DJLX<=9 and JSJE_BHS<>0;
这是为什么啊
decode(DJLX,2,'进货',3,'退火',9, '手发挥') "DJLX",
decode(DJLX,2,(select ZXRQ from JHD where JLBH=A.DJBH),
3,(select ZXRQ from THCL where JLBH=A.DJBH),
9,(select ZXRQ from JJBJD where JLBH=A.DJBH)) "DJRQ",
JSJE_BHS,(ZZSJE_17+ZZSJE_13+ZZSJE_QT) "ZZSJE",
(JSJE_BHS+ZZSJE_17+ZZSJE_13+ZZSJE_QT) "JSJE_HS"
FROM JXJSD_DJH A WHERE JLBH=27143 and DJLX<=9 and JSJE_BHS<>0;
存储过程中这句编译不过去,但是单独运行
SELECT DJBH,
decode(DJLX,2,'进货',3,'退火',9, '手发挥') "DJLX",
decode(DJLX,2,(select ZXRQ from JHD where JLBH=A.DJBH),
3,(select ZXRQ from THCL where JLBH=A.DJBH),
9,(select ZXRQ from JJBJD where JLBH=A.DJBH)) "DJRQ",
JSJE_BHS,(ZZSJE_17+ZZSJE_13+ZZSJE_QT) "ZZSJE",
(JSJE_BHS+ZZSJE_17+ZZSJE_13+ZZSJE_QT) "JSJE_HS"
FROM JXJSD_DJH A WHERE JLBH=27143 and DJLX<=9 and JSJE_BHS<>0
没有问题 。
我把第二个docode里的sql语句用单引号扩起来就可以了。
就是改成这样:
open recur for SELECT DJBH,
decode(DJLX,2,'进货',3,'退火',9, '手发挥') "DJLX",
decode(DJLX,2,‘(select ZXRQ from JHD where JLBH=A.DJBH)’,
3,‘(select ZXRQ from THCL where JLBH=A.DJBH)’,
9,‘(select ZXRQ from JJBJD where JLBH=A.DJBH)’) "DJRQ",
JSJE_BHS,(ZZSJE_17+ZZSJE_13+ZZSJE_QT) "ZZSJE",
(JSJE_BHS+ZZSJE_17+ZZSJE_13+ZZSJE_QT) "JSJE_HS"
FROM JXJSD_DJH A WHERE JLBH=27143 and DJLX<=9 and JSJE_BHS<>0;
这是为什么啊
解决方案 »
- 请问EXCEL如何访问ORACLE并更新数据
- 与表关联进行行转列
- 我想知道Oracle的一此包的說明與使用使用方法,如何查找,哪里有這種幫助!!!,如我想查找包dbms_Obfuscation_toolkit 的一此用法,怎么查找,
- rman backup archivelog all delete input?
- plsql dev支持oracle10g吗
- oracle 存储过程调用参数的问题,小白求解答
- oracle9i 数据库向 sql server2000导入数据的方法?
- Oracle 分页问题!
- select 数据库记录(简单问题)
- 怎样将结果输出到文本(追加方式的)
- ORACLE学习
- 请教一下:基于Oracle开发的软件系统的数据库安装、卸载与重新安装的问题
SELECT DJBH,
decode(DJLX,2,'进货',3,'退火',9, '手发挥') "DJLX",
decode(DJLX,2,‘(select ZXRQ from JHD where JLBH=A.DJBH)’,
3,‘(select ZXRQ from THCL where JLBH=A.DJBH)’,
9,‘(select ZXRQ from JJBJD where JLBH=A.DJBH)’) "DJRQ",
JSJE_BHS,(ZZSJE_17+ZZSJE_13+ZZSJE_QT) "ZZSJE",
(JSJE_BHS+ZZSJE_17+ZZSJE_13+ZZSJE_QT) "JSJE_HS"
FROM JXJSD_DJH A WHERE JLBH=27143 and DJLX<=9 and JSJE_BHS<>0
是没有问题的呀
decode(DJLX,2,'进货',3,'退火',9, '手发挥') "DJLX",
decode(DJLX,2,‘(select ZXRQ from JHD where JLBH=A.DJBH)’,
3,‘(select ZXRQ from THCL where JLBH=A.DJBH)’,
9,‘(select ZXRQ from JJBJD where JLBH=A.DJBH)’) "DJRQ",
JSJE_BHS,(ZZSJE_17+ZZSJE_13+ZZSJE_QT) "ZZSJE",
(JSJE_BHS+ZZSJE_17+ZZSJE_13+ZZSJE_QT) "JSJE_HS"
FROM JXJSD_DJH A WHERE JLBH=27143 and DJLX<=9 and JSJE_BHS<>0;
是对的?
decode(DJLX,2,'进货',3,'退火',9, '手发挥') "DJLX",
decode(DJLX,2,‘(select ZXRQ from JHD where JLBH=A.DJBH)’,
3,‘(select ZXRQ from THCL where JLBH=A.DJBH)’,
9,‘(select ZXRQ from JJBJD where JLBH=A.DJBH)’) "DJRQ",
JSJE_BHS,(ZZSJE_17+ZZSJE_13+ZZSJE_QT) "ZZSJE",
(JSJE_BHS+ZZSJE_17+ZZSJE_13+ZZSJE_QT) "JSJE_HS"
FROM JXJSD_DJH A WHERE JLBH=27143 and DJLX<=9 and JSJE_BHS<>0;
是不对的
SELECT DJBH,
decode(DJLX,2,'进货',3,'退火',9, '手发挥') "DJLX",
decode(DJLX,2,‘(select ZXRQ from JHD where JLBH=A.DJBH)’,
3,‘(select ZXRQ from THCL where JLBH=A.DJBH)’,
9,‘(select ZXRQ from JJBJD where JLBH=A.DJBH)’) "DJRQ",
JSJE_BHS,(ZZSJE_17+ZZSJE_13+ZZSJE_QT) "ZZSJE",
(JSJE_BHS+ZZSJE_17+ZZSJE_13+ZZSJE_QT) "JSJE_HS"
FROM JXJSD_DJH A WHERE JLBH=27143 and DJLX<=9 and JSJE_BHS<>0
是对的
open recur for SELECT DJBH,
decode(DJLX,2,'进货',3,'退火',9, '手发挥') "DJLX",
decode(DJLX,2,‘(select ZXRQ from JHD where JLBH=A.DJBH)’,
3,‘(select ZXRQ from THCL where JLBH=A.DJBH)’,
9,‘(select ZXRQ from JJBJD where JLBH=A.DJBH)’) "DJRQ",
JSJE_BHS,(ZZSJE_17+ZZSJE_13+ZZSJE_QT) "ZZSJE",
(JSJE_BHS+ZZSJE_17+ZZSJE_13+ZZSJE_QT) "JSJE_HS"
FROM JXJSD_DJH A WHERE JLBH=27143 and DJLX<=9 and JSJE_BHS<>0;
是对的
我需要的是这样的呀
open recur for SELECT DJBH,
decode(DJLX,2,'进货',3,'退火',9, '手发挥') "DJLX",
decode(DJLX,2,(select ZXRQ from JHD where JLBH=A.DJBH),
3,(select ZXRQ from THCL where JLBH=A.DJBH),
9,(select ZXRQ from JJBJD where JLBH=A.DJBH)) "DJRQ",
JSJE_BHS,(ZZSJE_17+ZZSJE_13+ZZSJE_QT) "ZZSJE",
(JSJE_BHS+ZZSJE_17+ZZSJE_13+ZZSJE_QT) "JSJE_HS"
FROM JXJSD_DJH A WHERE JLBH=27143 and DJLX<=9 and JSJE_BHS<>0;
decode(DJLX,2,'进货',3,'退火',9, '手发挥') "DJLX",
decode(DJLX,2,‘(select ZXRQ from JHD where JLBH=A.DJBH)’,
3,‘(select ZXRQ from THCL where JLBH=A.DJBH)’,
9,‘(select ZXRQ from JJBJD where JLBH=A.DJBH)’) "DJRQ",
JSJE_BHS,(ZZSJE_17+ZZSJE_13+ZZSJE_QT) "ZZSJE",
(JSJE_BHS+ZZSJE_17+ZZSJE_13+ZZSJE_QT) "JSJE_HS"
FROM JXJSD_DJH A WHERE JLBH=27143 and DJLX<=9 and JSJE_BHS<>0;
的结果是你想要的?是的话不就结了。
decode(DJLX,2,'进货',3,'退火',9, '手发挥') "DJLX",
decode(DJLX,2,(select ZXRQ from JHD where JLBH=A.DJBH),
3,(select ZXRQ from THCL where JLBH=A.DJBH),
9,(select ZXRQ from JJBJD where JLBH=A.DJBH)) "DJRQ",
JSJE_BHS,(ZZSJE_17+ZZSJE_13+ZZSJE_QT) "ZZSJE",
(JSJE_BHS+ZZSJE_17+ZZSJE_13+ZZSJE_QT) "JSJE_HS"
FROM JXJSD_DJH A WHERE JLBH=27143 and DJLX<=9 and JSJE_BHS<>0
然后再打开recur,这样行不行?
decode(DJLX,2,'进货',3,'退火',9, '手发挥') "DJLX",
decode(DJLX,2,(select ZXRQ from JHD where JLBH=A.DJBH),
3,(select ZXRQ from THCL where JLBH=A.DJBH),
9,(select ZXRQ from JJBJD where JLBH=A.DJBH)) "DJRQ",
JSJE_BHS,(ZZSJE_17+ZZSJE_13+ZZSJE_QT) "ZZSJE",
(JSJE_BHS+ZZSJE_17+ZZSJE_13+ZZSJE_QT) "JSJE_HS"
FROM JXJSD_DJH A WHERE JLBH=27143 and DJLX<=9 and JSJE_BHS<>0
还是不行的话,那SELECT DJBH,
decode(DJLX,2,'进货',3,'退火',9, '手发挥') "DJLX",
decode(DJLX,2,(select ZXRQ from JHD where JLBH=A.DJBH),
3,(select ZXRQ from THCL where JLBH=A.DJBH),
9,(select ZXRQ from JJBJD where JLBH=A.DJBH)) "DJRQ",
JSJE_BHS,(ZZSJE_17+ZZSJE_13+ZZSJE_QT) "ZZSJE",
(JSJE_BHS+ZZSJE_17+ZZSJE_13+ZZSJE_QT) "JSJE_HS"
FROM JXJSD_DJH A WHERE JLBH=27143 and DJLX<=9 and JSJE_BHS<>0
报不报错的?
decode(DJLX,2,'进货',3,'退火',9, '手发挥') "DJLX",
decode(DJLX,2,(select ZXRQ from JHD where JLBH=A.DJBH),
3,(select ZXRQ from THCL where JLBH=A.DJBH),
9,(select ZXRQ from JJBJD where JLBH=A.DJBH)) "DJRQ",
JSJE_BHS,(ZZSJE_17+ZZSJE_13+ZZSJE_QT) "ZZSJE",
(JSJE_BHS+ZZSJE_17+ZZSJE_13+ZZSJE_QT) "JSJE_HS"
FROM JXJSD_DJH A WHERE JLBH=27143 and DJLX<=9 and JSJE_BHS<>0是不报错的。