没有足够的值

yuqingjiejava 2011-09-05 02:52:36
INSERT INTO TAB_DWGZZCB SELECT * FROM
( SELECT ID,ID_MTH,BM,JFGJFS,SUM(RS) AS RS,SUM(HJ) AS HJ,SUM(XJ_GZFL) XJ_GZFL,SUM(JBGZ) JBGZ,
SUM(JTBT) JTBT,SUM(JJ) JJ,SUM(SHBZJF) SHBZJF,SUM(JXGZ) JXGZ,SUM(QTGZFLZC) QTGZFLZC,SUM(XJ_BZ) XJ_BZ,
SUM(LXF) LXF,SUM(TXF) TXF,SUM(TZYF) TZYF,SUM(SHBZ) SHBZ,SUM(YLF) YLF,SUM(JLJ) JLJ,SUM(ZFGJJ) ZFGJJ,SUM(TZBT) TZBT,
SUM(XZGGFBT) XZGGFBT,
SUM(QTBZZC) QTBZZC FROM ( SELECT * FROM( SELECT (CASE WHEN JFGJFS='行政全额' THEN 7 WHEN JFGJFS='行政附属' THEN 8 WHEN JFGJFS='全额事业' THEN 9 WHEN JFGJFS='差额事业' THEN 10 WHEN JFGJFS='自收自支' THEN 11 END) AS ID,
ID_MTH,BM,JFGJFS,COUNT(*) AS RS,0 AS HJ,0 AS XJ_GZFL,SUM(JBGZ_XJ)*12/10000 AS JBGZ, SUM(JTBT_XJ)*12/10000 JTBT,
SUM(NZYCXJJ)/10000 JJ,SUM(SHBZJF_XJ)*12/10000 SHBZJF,0 JXGZ,0 QTGZFLZC,0 XJ_BZ,0 LXF,0 TXF,0 TZYF,0 SHBZ,0 YLF,
SUM(DSZNFMJL)/10000 JLJ,SUM(ZFBT_ZFGJJ)*12/10000 ZFGJJ,SUM(ZFBT_TZBT)*12/10000 TZBT,
SUM(ZFBT_XZGGFBT)*12/10000 XZGGFBT,0 QTBZZC FROM TAB_XZ WHERE ID_MTH=201109
GROUP BY ID_MTH,BM,JFGJFS ORDER BY ID_MTH,BM,JFGJFS DESC)
UNION ALL SELECT * FROM( SELECT (CASE WHEN JFGJFS='行政全额' THEN 7 WHEN JFGJFS='行政附属' THEN 8 WHEN JFGJFS='全额事业' THEN 9 WHEN JFGJFS='差额事业' THEN 10 WHEN JFGJFS='自收自支' THEN 11 END) AS ID,
ID_MTH,BM,JFGJFS,SUM(RS) AS RS,SUM(HJ) AS HJ,SUM(XJ_GZFL) XJ_GZFL,SUM(JBGZ) JBGZ,SUM(JTBT) JTBT,SUM(JJ) JJ,SUM(SHBZJF) SHBZJF,
SUM(JXGZ) JXGZ,SUM(QTGZFLZC) QTGZFLZC,SUM(XJ_BZ) XJ_BZ,SUM(LXF) LXF,SUM(TXF) TXF,SUM(TZYF) TZYF,SUM(SHBZ) SHBZ,SUM(YLF) YLF,SUM(JLJ) JLJ,
SUM(ZFGJJ) ZFGJJ,SUM(TZBT) TZBT,SUM(XZGGFBT) XZGGFBT,
SUM(QTBZZC) QTBZZC FROM( SELECT * FROM (SELECT ID_MTH,BM,JFGJFS,COUNT(*) AS RS,0 AS HJ,0 AS XJ_GZFL,SUM(JBGZ_XJ)*12/10000 AS JBGZ,
(SUM(JCXJXGZ_XJ)+SUM(JTBT))*12/10000 AS JTBT,0 AS JJ,SUM(SHBZJF_XJ)*12/10000 AS SHBZJF,SUM(NDJLXJXGZ)/10000 AS JXGZ,
0 QTGZFLZC,0 XJ_BZ,0 LXF,0 TXF,0 TZYF,0 SHBZ,0 YLF,SUM(DSZNFMJL)/10000 AS JLJ,SUM(ZFBT_ZFGJJ)*12/10000 AS ZFGJJ,
SUM(ZFBT_TZBT)*12/10000 AS TZBT,SUM(ZFBT_XZGGFBT)*12/10000 AS XZGGFBT,
0 AS QTBZZC FROM TAB_SY_YWJY WHERE ID_MTH=201109 GROUP BY ID_MTH,BM,JFGJFS ORDER BY ID_MTH,BM,JFGJFS)
UNION ALL SELECT * FROM( SELECT ID_MTH,BM,JFGJFS,COUNT(*) AS RS,0 AS HJ,0 AS XJ_GZFL,SUM(JBGZ_XJ)*12/10000 AS JBGZ,
SUM(JT_XJ)*12/10000 AS JTBT,0 AS JJ,SUM(SHBZJF_XJ)*12/10000 AS SHBZJF,SUM(ANFFXM_HJ)/10000 AS JXGZ,0 QTGZFLZC,0 XJ_BZ,0 LXF,0 TXF,0 TZYF,
0 SHBZ,0 YLF,SUM(DSZNFMJL)/10000 AS JLJ,SUM(ZFBT_ZFGJJ)*12/10000 AS ZFGJJ,SUM(ZFBT_TZBT)*12/10000 AS TZBT,
SUM(ZFBT_XZGGFBT)*12/10000 AS XZGGFBT,0 AS QTBZZC FROM TAB_SY_QT WHERE ID_MTH=201109
GROUP BY ID_MTH,BM,JFGJFS ORDER BY ID_MTH,BM,JFGJFS) )GROUP BY ID_MTH,BM,JFGJFS ORDER BY ID_MTH,BM,JFGJFS ) )
GROUP BY ID_MTH,BM,ID UNION ALL SELECT * FROM ( SELECT (CASE WHEN JFGJFS='行政全额' THEN 13 WHEN JFGJFS='行政附属' THEN 14 WHEN JFGJFS='全额事业' THEN 15 WHEN JFGJFS='差额事业' THEN 16 WHEN JFGJFS='自收自支' THEN 17 END) AS ID,
ID_MTH,BM,JFGJFS,COUNT(*) AS RS,0 AS HJ,0 AS XJ_GZFL,0 AS JBGZ,0 AS JTBT,0 AS JJ,0 AS SHBZJF,0 AS JXGZ,0 QTGZFLZC,0 XJ_BZ,
SUM(YFGZHJ)*12/10000 LXF,0 TXF,0 TZYF,0 SHBZ,0 YLF,0 AS JLJ,0 AS ZFGJJ,0 AS TZBT,0 AS XZGGFBT,
SUM(XJ)/10000 AS QTBZZC FROM TAB_LTXRY WHERE ID_MTH=201109 AND LEIBIE='离休' GROUP BY ID_MTH,BM,JFGJFS
ORDER BY ID_MTH,BM,JFGJFS)
UNION ALL SELECT * FROM( SELECT (CASE WHEN JFGJFS='行政全额' THEN 19 WHEN JFGJFS='行政附属' THEN 20 WHEN JFGJFS='全额事业' THEN 21 WHEN JFGJFS='差额事业' THEN 22 WHEN JFGJFS='自收自支' THEN 23 END) AS ID,
ID_MTH,BM,JFGJFS,COUNT(*) AS RS,0 AS HJ,0 AS XJ_GZFL,0 AS JBGZ,0 AS JTBT,0 AS JJ,0 AS SHBZJF,0 AS JXGZ,0 QTGZFLZC,0 XJ_BZ,0 LXF,
SUM(YFGZHJ)*12/10000 TXF,0 TZYF,0 SHBZ,0 YLF,0 AS JLJ,0 AS ZFGJJ,0 AS TZBT,0 AS XZGGFBT,0 AS QTBZZC FROM TAB_LTXRY WHERE ID_MTH=201109 AND LEIBIE='退休' GROUP BY ID_MTH,BM,JFGJFS ORDER BY ID_MTH,BM,JFGJFS)
UNION ALL SELECT * FROM ( SELECT * FROM( SELECT 25 AS ID,ID_MTH,BM,'编外人员' AS JFGJFS,COUNT(*) AS RS,0 AS HJ,0 AS XJ_GZFL,SUM(GONGZI)*12/10000 AS JBGZ,0 AS JTBT,
SUM(NDJJ)/10000 AS JJ,(SUM(BX_YANGLAO)+SUM(BX_YILIAO)+SUM(BX_SHIYE))*12/10000 AS SHBZJF,0 AS JXGZ,SUM(QT)/10000 QTGZFLZC,0 XJ_BZ,
0 LXF,0 TXF,0 TZYF,0 SHBZ,0 YLF,0 AS JLJ,0 AS ZFGJJ,0 AS TZBT,0 AS XZGGFBT,0 AS QTBZZC FROM TAB_BWRYGYQK WHERE ID_MTH=201109
GROUP BY ID_MTH,BM ORDER BY ID_MTH,BM ) UNION SELECT * FROM( SELECT 26 AS ID,ID_MTH,BM,'退职人员' AS JFGJFS,COUNT(*) AS RS,
0 AS HJ,0 AS XJ_GZFL,0 AS JBGZ,0 AS JTBT,0 AS JJ,0 AS SHBZJF,0 AS JXGZ,0 QTGZFLZC,0 XJ_BZ,0 LXF,0 TXF,SUM(TZSHF)*12/10000 TZYF,0 SHBZ,
0 YLF,0 AS JLJ,0 AS ZFGJJ,0 AS TZBT,0 AS XZGGFBT,
0 AS QTBZZC FROM TAB_TZYB WHERE ID_MTH=201109 AND SZ_XINGMING IS NULL GROUP BY ID_MTH,BM ORDER BY ID_MTH,BM)
UNION SELECT * FROM( SELECT 27 AS ID,ID_MTH,BM,'遗属人员' AS JFGJFS,COUNT(*) AS RS,0 AS HJ,0 AS XJ_GZFL,0 AS JBGZ,0 AS JTBT,
0 AS JJ,0 AS SHBZJF,0 AS JXGZ,0 QTGZFLZC,0 XJ_BZ,0 LXF,0 TXF,0 TZYF,SUM(HJ)*12/10000 SHBZ,0 YLF,0 AS JLJ,0 AS ZFGJJ,0 AS TZBT,
0 AS XZGGFBT,0 AS QTBZZC FROM TAB_TZYB WHERE ID_MTH=201109 AND SZ_XINGMING IS NOT NULL GROUP BY ID_MTH,BM ORDER BY ID_MTH,BM) ) )
ORDER BY ID_MTH,BM,ID

这是在我之前的人写的,我看的头都大力,错误提示“没有足够的值”
高手看一下缺少那个啊?我一看就蒙了
小弟没多少积分了,还望谅解!!
...全文
588 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
小青蛙 2011-09-15
  • 打赏
  • 举报
回复
恭喜楼主问题解决
yuqingjiejava 2011-09-15
  • 打赏
  • 举报
回复
已经解决了!!谢谢大家
scrack 2011-09-14
  • 打赏
  • 举报
回复
上面已经说了
litianci2002 2011-09-14
  • 打赏
  • 举报
回复
要插入的表的列个数和选择的个数不相同
cosio 2011-09-14
  • 打赏
  • 举报
回复
insert into 表的值和select * from 的值不相对!

建议的写法是:

insert into table1(col1,col2,col3,...) select col1,col2,col3 ....from table2
zengjc 2011-09-14
  • 打赏
  • 举报
回复
什么情况,你看这头疼的问题别人看着就不头疼了?
做技术的,不要急,沉下心来慢慢分析几次,以后再遇到这种情况就不会头疼了:)
luoyoumou 2011-09-05
  • 打赏
  • 举报
回复
-- 没有足够的值
-- 从字面意思已经很容易理解啦:你要向一个表(所有字段)中插入数据,那么您提供的查询语句返回的字段数必须跟表的字段数相一致!
luoyoumou 2011-09-05
  • 打赏
  • 举报
回复
INSERT INTO TAB_DWGZZCB SELECT * FROM

-- 原表(desc TAB_DWGZZCB 看看)有多少字段?
-- 执行的查询( SELECT * FROM )有多少字段?
-- 两个多少要一样!

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧