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;
这是为什么啊
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是不报错的。