select  (select username from sys_t_user where userid = aa.inputuser) userName,  select bb.modename from hy_paymode bb where bb.id=aa.paymode ) payModeName,  aa.goodsname from hy_goodshistory aa, 
log_hy_billprint bb, 
( select count(a.goodsid) c,a.goodsid from log_hy_billprint a  
  group by a.goodsid    having count(a.goodsid)>1) cc  where aa.goodsid(+) = bb.goodsid and bb.goodsid = cc.goodsId --- 我想查询的条件是当名字是%范%的,这里报USERNAME无效的标示符 --- 
and userName like '%范%' 请问我SQL语句应该修改哪里! 

解决方案 »

  1.   

    第一个SELECT后面怎么没有* FROM
      

  2.   

    语法感觉怪怪的,能执行吗? 重新写一下..
    ------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    Q Q 群:62697716 
      

  3.   

    全部的SQL是这样的:select  cc.goodsId goodsids,cc.c cou, (select username from sys_t_user where userid = aa.inputuser) userName,  (select cityName from hy_city where cityId = aa.sourcecity) sourcecityName,   (select stationName from hy_station where stationid = aa.sourcestation) sourcestationName, (select cityName from hy_city where cityId = aa.destinationcity) destinationcityName, (select stationName from hy_station where stationid = aa.destinationstation) destinationStationName, aa.querycode,aa.goodsno,  aa.trafficfee, aa.transferfee, aa.otherfee, aa.commisioncash, aa.commisionno,  aa.worthfee,aa.sendgoodsfee,aa.realtotalfee, aa.totalfee, aa.receiveman, aa.receivetel,aa.receivemobiletel, aa.receiveaddress, aa.sendman, aa.sendtel,aa.bankcardno, aa.sendmobiletel,aa.sendaddress,aa.paymode,(select bb.modename from hy_paymode bb where bb.id=aa.paymode ) payModeName,  aa.goodsname, aa.goodsvalue,aa.goodslength, aa.goodswidth, aa.goodshigh, aa.goodsvolume,aa.goodscount,aa.goodsweight  from hy_goodshistory aa,log_hy_billprint bb,  ( select count(a.goodsid) c,a.goodsid from log_hy_billprint a  where logdate >= to_date('2009-10-01 00:00:00','YY-MM-DD hh24:mi:ss')     and logdate < to_date('2010-01-16 23:59:59','YY-MM-DD hh24:mi:ss')     group by a.goodsid     having count(a.goodsid)>1) cc  where aa.goodsid(+) = bb.goodsid and bb.goodsid = cc.goodsId  
      

  4.   

    select b.username, c.modename, a.goodsname
    (select  
     aa.goodsname, aa.inputuser, aa.paymode  
    from hy_goodshistory aa, 
    log_hy_billprint bb, 
    ( select count(a.goodsid) c,a.goodsid from log_hy_billprint a  
      group by a.goodsid    having count(a.goodsid)>1) cc 
    where aa.goodsid(+) = bb.goodsid and bb.goodsid = cc.goodsId) a, sys_t_user b, hy_paymode c
    where b.userid = a.inputuser and c.id=aa.paymode 
     这个试一下
    不过LZ这个(+)有点诡异
      

  5.   

    间歇后 这样 select  (select username from sys_t_user where userid = aa.inputuser) userName,
      (select cityName from hy_city where cityId = aa.sourcecity) sourcecityName, 
      aa.goodsweight  from hy_goodshistory aa,log_hy_billprint bb,
        ( select count(a.goodsid) c,a.goodsid from log_hy_billprint a 
         where logdate >= to_date('2009-10-01 00:00:00','YY-MM-DD hh24:mi:ss')    
          and logdate < to_date('2010-01-16 23:59:59','YY-MM-DD hh24:mi:ss')    
           group by a.goodsid     having count(a.goodsid)>1) cc  where aa.goodsid(+) = bb.goodsid
            and bb.goodsid = cc.goodsId  大家帮我看看
    应该怎样加这个条件就对呢
    and userName like '%范%' 
      

  6.   

    (select username from sys_t_user where userid = aa.inputuser) userName
    这类你可以看做一个VIEW而不是COLUMN.
      

  7.   

    解决了!
    多嵌套一层:
    select * from (sql语句) test where 1=1  and test.userName like '%范%'