select 
a.*,b.*
from expert_info a
inner join receive_user b
on b.order_title like '%'||a.order_title||'%' and a.area_id=b.area_id这样写SQL语句为什么不对,怎么改?

解决方案 »

  1.   

    试试select 
    a.*,b.* 
    from expert_info a 
    inner join receive_user b 
    on a.area_id=b.area_id 
    where b.order_title like '%'||a.order_title||'%';
      

  2.   

    还是不行,和以前的错误一样  :"A"."order_title" 标识符无效
      

  3.   


    ------------try
    select 
    a.*,b.* 
    from expert_info a , receive_user b 
    where b.order_title like '%'||a.order_title||'%' and a.area_id=b.area_id 
      

  4.   

    SQL 没有问题...SQL> select * from a;NAME                         ID ORDER_TITLE
    -------------------- ---------- --------------------
    中国科学技术大学              1 科学
    SQL> select * from b;NAME                         ID
    -------------------- ----------
    中国科学技术大学              1SQL> SELECT 
      2  a.*,b.* 
      3  FROM  a 
      4  INNER JOIN  b 
      5  ON b.NAME LIKE '%'||a.order_title||'%' AND a.ID=b.ID ;NAME                         ID ORDER_TITLE          NAME
    -------------------- ---------- -------------------- --------------------
            ID
    ----------
    中国科学技术大学              1 科学                 中国科学技术大学
             1
    SQL> 
      

  5.   


    还是一样的错误,语法错误 :
    ORA-00904 "A"."order_title" 标识符无效
      

  6.   

    你这样写没有什么问题,查检一下你的数据create table expert_info(area_id int,order_title varchar2(20));
    create table receive_user(area_id int,order_title varchar2(20));insert into receive_user values(1,'Happy 2009 new year');
    insert into  expert_info values(1,'new');SQL> run
      1  select
      2  a.*,b.*
      3  from expert_info a
      4  inner join receive_user b
      5* on b.order_title like '%'||a.order_title||'%' and a.area_id=b.area_id   AREA_ID ORDER_TITLE             AREA_ID ORDER_TITLE
    ---------- -------------------- ---------- --------------------
             1 new                           1 Happy 2009 new year
      

  7.   


    select 
    a.*,b.* 
    from expert_info a , receive_user b 
    where b.order_title like '%'||a.order_title||'%' and a.area_id=b.area_id
    能解释下 WHERE  后面语句的意思吗?
      

  8.   

    对不起各位,是我存心了,a表中没有a.order_title 字段,所以错了,应该是a.field