起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 258|回复: 14

【结贴】求助:写SQL语句执行遇到错误**

[复制链接]
发表于 2008-7-15 17:14:16 | 显示全部楼层 |阅读模式
这是什么意思

aaqaqaq.jpg

11.13 KB, 下载次数: 143

回复

使用道具 举报

发表于 2008-7-15 17:23:36 | 显示全部楼层
检查一下逻辑表定义的小数位数可能和数据库不匹配了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-15 17:29:57 | 显示全部楼层
一个数字和一个字符的位数还不一样吗,我用一个数字可以,但换成衣个字符就出错了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-15 17:31:45 | 显示全部楼层
在TOAD里面执行正确,一到平台下就出错了。
回复 支持 反对

使用道具 举报

发表于 2008-7-15 17:38:02 | 显示全部楼层
你定义的是什么数据类型?字段的大小有时多少呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-15 17:49:48 | 显示全部楼层
字符类型,字段大小为1
回复 支持 反对

使用道具 举报

发表于 2008-7-16 08:54:43 | 显示全部楼层
那只能输入一个数字或者一个字母,一个汉字肯定不行了!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-16 17:36:40 | 显示全部楼层
我输入的不是汉字而是字母
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-16 17:46:09 | 显示全部楼层
SELECT t1.ship_no, t1.ship_nam, t1.jing_tim, t1.lig_tim, t1.sum_top,
       t1.pkg_kind_cod, t1.cargo_wgt, t1.i_e_id, t1.cargo_kind_cod,
       t1.cargo_kind_nam, t2.stop_hour stop_hour,
       t2.stop_hour / (t1.cargo_wgt) * 1000 stop1000
  FROM (SELECT   a.ship_no, MAX (a.ship_nam) ship_nam,
                 MAX (a.jing_tim) jing_tim, MAX (a.lig_tim) lig_tim,
                 MAX (a.sum_top) sum_top, a.pkg_kind_cod,
                 SUM (a.cargo_wgt) cargo_wgt, a.i_e_id, a.cargo_kind_cod,
                 MAX (a.cargo_kind_nam) cargo_kind_nam
            FROM (SELECT   tt2.ship_no, MAX (tt2.ship_nam) ship_nam,
                           MAX (tt2.jing_tim) jing_tim,
                           MAX (tt2.lig_tim) lig_tim,
                           MAX (tt2.sum_top) sum_top,
                           MAX (tt2.pkg_kind_cod) pkg_kind_cod,
                           SUM (tt2.cargo_wgt) cargo_wgt, tt2.i_e_id,
                           MAX (tt2.cargo_kind_cod) cargo_kind_cod,
                           MAX (tt2.cargo_kind_nam) cargo_kind_nam
                      FROM (SELECT tt1.ship_no, tt1.ship_nam, tt1.jing_tim,
                                   tt1.lig_tim, tt1.sum_top,
                                   FIRST_VALUE (tt1.pkg_kind_cod) OVER (PARTITION BY tt1.ship_no, tt1.i_e_id ORDER BY tt1.cargo_wgt DESC)
                                                                 pkg_kind_cod,
                                   tt1.cargo_wgt, tt1.i_e_id,
                                   FIRST_VALUE
                                           (tt1.cargo_kind_cod) OVER (PARTITION BY tt1.ship_no, tt1.i_e_id ORDER BY tt1.cargo_wgt DESC)
                                                               cargo_kind_cod,
                                   FIRST_VALUE
                                           (tt1.cargo_kind_nam) OVER (PARTITION BY tt1.ship_no, tt1.i_e_id ORDER BY tt1.cargo_wgt DESC)
                                                               cargo_kind_nam
                              FROM (SELECT   a.ship_no,
                                             MAX (a.ship_nam) ship_nam,
                                             MAX (NVL (d.rta, d.rtb))
                                                                     jing_tim,
                                             MAX (d.rtd) lig_tim,
                                               (  MAX (d.rtd)
                                                - MAX (NVL (d.rta, d.rtb))
                                               )
                                             * 24 sum_top,
                                             DECODE
                                                (a.pkg_kind_cod,
                                                 '0', '0',
                                                 '1'
                                                ) pkg_kind_cod,
                                             SUM (a.cargo_wgt) cargo_wgt,
                                             a.i_e_id, b.cargo_kind_cod,
                                             MAX
                                                (e.cargo_kind_nam
                                                ) cargo_kind_nam
                                        FROM ship d,
                                             ship_thruput a,
                                             c_cargo_list_dept b,
                                             c_cargo_kind_dept e
                                       WHERE d.ship_no = a.ship_no
                                         AND a.cargo_cod = b.cargo_cod
                                         AND b.dept_cod = 'MS_02'
                                         AND b.cargo_kind_cod =
                                                              e.cargo_kind_cod
                                         AND e.dept_cod = 'MS_02'
                                         AND b.cargo_kind_cod <> '0114'
                                         AND a.cargo_wgt > 0
                                    GROUP BY a.ship_no,
                                             b.cargo_kind_cod,
                                             a.pkg_kind_cod,
                                             a.i_e_id) tt1) tt2
                  GROUP BY tt2.ship_no, tt2.i_e_id) a
        GROUP BY a.ship_no, a.pkg_kind_cod, a.i_e_id, a.cargo_kind_cod) t1,
       (SELECT   a.ship_no, SUM ((a.end_tim - a.beg_tim) * 24) stop_hour,
               '1'  I_E_ID, ======(在此如果'1'改为'I' 就出错)
            FROM ship f,
                 ship_status a,
                 c_ship_stat b,
                 (SELECT   a.ship_no, MIN (b.beg_tim) end_tim
                      FROM ship a, v_ship_status b
                     WHERE a.ship_no = b.ship_no
                       AND b.ship_stat_cod = '+'
                       AND a.special_id = '0'
                  GROUP BY a.ship_no) t1
           WHERE f.ship_no = a.ship_no
             AND a.ship_stat_cod = b.ship_stat_cod
             AND (b.ship_fail_cod LIKE '1%' OR b.ship_fail_cod LIKE '21%')
             AND f.ship_no = t1.ship_no(+)
             AND f.imp_cargo_cod IS NOT NULL
        GROUP BY a.ship_no
        UNION ALL
        SELECT   a.ship_no, SUM ((a.end_tim - a.beg_tim) * 24) stop_hour,
               '0'  I_E_ID,  ======(在此如果'0'改为'E' 就出错)
            FROM ship f,
                 v_ship_status a,
                 c_ship_stat b,
                 (SELECT   a.ship_no, MAX (b.end_tim) beg_tim
                      FROM ship a, v_ship_status b
                     WHERE a.ship_no = b.ship_no
                       AND b.ship_stat_cod = '-'
                       AND a.special_id = '0'
                  GROUP BY a.ship_no) t1
           WHERE f.ship_no = a.ship_no
             AND a.ship_stat_cod = b.ship_stat_cod
             AND (b.ship_fail_cod LIKE '1%' OR b.ship_fail_cod LIKE '21%')
             AND f.ship_no = t1.ship_no(+)
             AND f.exp_cargo_cod IS NOT NULL
        GROUP BY a.ship_no) t2
WHERE t1.ship_no = t2.ship_no AND t1.i_e_id = t2.i_e_id
回复 支持 反对

使用道具 举报

发表于 2008-7-16 17:54:14 | 显示全部楼层
楼主创建一下物理表看一下?
直接预览这个表正常么?
把这个字段的定义贴出来看一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-19 07:52 , Processed in 0.049666 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表