2003-7-7那里漏写了一个'yyyy-mm-dd hh24:mi:ss',原来的代码中是有的

解决方案 »

  1.   

    我前端用delphi开发,执行的结果是DBGrid控件中显示的还是许多记录而不是一条记录,且table2.cjsj,table2.bj_zxyg,table2.bj_fxyg没有显示
      

  2.   

    用"table1.dybm=... and table2.dybm=... and table2.fl=..."来指定唯一值。
      

  3.   

    table1.dybm=... and table2.dybm=... and table2.fl=...指定出来的是唯一的,但是table2.cjsj指定的是从7月1日到7日的一批数据
      

  4.   

    所以我用min(table2.cjsj)来指定显示的时间
      

  5.   

    table1.dybm和table2.dybm都是唯一的
      

  6.   

    decode(bj,'1,'手抄','系统采集')bj,sum(table2.zxyg),sum(table2.fxyg),table2.bl
    改为:
    decode(bj,'1,'手抄','系统采集') bj,sum(table2.zxyg),sum(table2.fxyg),table2.bl
      

  7.   

    select 
         table1.bdsmc,table1.dymc,min(table2.cjsj),decode(bj,'1','手抄','系统采集')bj,sum(table2.bj_zxyg),sum(table2.bj_fxyg),table2.bl
    from 
        table1,table2
    where 
         table1.dybm=1 and table2.dybm=1 and talbe2.fl=0 and table2.cjsj>to_date('2003-7-1 00:00:00','yyyy-mm-dd hh24:mi:ss') group by table1.bdsmc,table1.dymc,table2.bj,table2.bl我改成这样可以在sql*plus中显示了
    不过在我前端的delphi中DBGrid显示依然不正常,table2.cjsj,table2.bj_zxyg,table2.bj_fxyg无法显示
      

  8.   

    你的数据库已经死进程了,重启。sql语句一般用sqlplus先进行调试,
    仔细调试正确后,才可以在程序中调用。
      

  9.   

    说说"table2.cjsj,table2.bj_zxyg,table2.bj_fxyg无法显示"的字段类型。
      

  10.   

    cjsj——date
    bj_zxyg、bj_fxyg——number
    sql*plus已经通过我改动后的sql语句了
      

  11.   

    select 
         table1.bdsmc,table1.dymc,min(table2.cjsj),decode(bj,'1','手抄','系统采集')bj,sum(table2.bj_zxyg),sum(table2.bj_fxyg),table2.bl
    from 
        table1,table2
    where 
         table1.dybm=1 and table2.dybm=1 and talbe2.fl=0 and table2.cjsj>to_date('2003-7-1 00:00:00','yyyy-mm-dd hh24:mi:ss') group by table1.bdsmc,table1.dymc,table2.bj,table2.bl将 table2.cjsj,table2.bj_zxyg,table2.bj_fxyg 加上别名试试。
      

  12.   

    min(table2.cjsj)改为:
    min(to_number(to_char(table2.cjsj,yyyymmddhh24miss)))
    试试。
    要注意Delphi和Oracle字段定义时的分歧之处。