解决方案 »

  1.   

    update urlnum u
       set num =
           (SELECT COUNT(*)
              FROM js_chat_record
             WHERE REFER_PAGE LIKE '%' || u.url || '%'
               AND to_char(CREATE_TIME, 'yyyy-mm-dd') BETWEEN '2014-07-01' AND
                   '2014-08-01'
               and effective > 0);
      

  2.   

    可以试一下用EXISTS条件。UPDATE
      URLNUM
    SET
      NUM = (
        SELECT COUNT(*) CNT
        FROM JS_CHAT_RECORD J
        WHERE EXISTS (
          SELECT NULL
          FROM URLNUM T
          WHERE J.REFER_PAGE LIKE '%'||T.URL||'%' 
            AND TO_CHAR(CREATE_TIME,'yyyy-mm-dd') BETWEEN '2014-07-01' AND '2014-08-01' 
            AND EFFECTIVE > 0 
        ) 
    );
      

  3.   

    update urlnum u
       set num =
           (SELECT COUNT(*)
              FROM js_chat_record
             WHERE REFER_PAGE LIKE '%' || u.url || '%'
               AND to_char(CREATE_TIME, 'yyyy-mm-dd') BETWEEN '2014-07-01' AND
                   '2014-08-01'
               and effective > 0);我也试过了可以查但是得不到数值,存不到数据库里。
      

  4.   

    update urlnum u
       set num =
           (SELECT COUNT(*)
              FROM js_chat_record
             WHERE REFER_PAGE LIKE '%' || u.url || '%'
               AND to_char(CREATE_TIME, 'yyyy-mm-dd') BETWEEN '2014-07-01' AND
                   '2014-08-01'
               and effective > 0);我也试过了可以查但是得不到数值,存不到数据库里。
    是不是你的子查询查不到数据?条件导致的?
      

  5.   

    update urlnum u
       set num =
           (SELECT COUNT(*)
              FROM js_chat_record
             WHERE REFER_PAGE LIKE '%' || u.url || '%'
               AND to_char(CREATE_TIME, 'yyyy-mm-dd') BETWEEN '2014-07-01' AND
                   '2014-08-01'
               and effective > 0);我也试过了可以查但是得不到数值,存不到数据库里。
    是不是你的子查询查不到数据?条件导致的?
    我之前数据库里放了一条数据的时候能查到数,而且数对上了。但是多条就报错了。
      

  6.   

    update urlnum u
       set num =
           (SELECT COUNT(*)
              FROM js_chat_record
             WHERE REFER_PAGE LIKE '%' || u.url || '%'
               AND to_char(CREATE_TIME, 'yyyy-mm-dd') BETWEEN '2014-07-01' AND
                   '2014-08-01'
               and effective > 0);我也试过了可以查但是得不到数值,存不到数据库里。
    是不是你的子查询查不到数据?条件导致的?
    我之前数据库里放了一条数据的时候能查到数,而且数对上了。但是多条就报错了。
    你先用子查询进行查询测试吧,看能不能查出记录。就用你插入的那条数据来测试
      

  7.   

    我现在创建了一个表urlnum,字段url已经插入数据,我需要用url匹配总表里的refer看每一个链接有多少条数据再插入到urlnum的num列。我得语句有错误吗?urlnum 主要是url列,num列。js_chat_record表主要是REFER_PAGE列,CREATE_TIME,effective。