我有一个表名为test,表有2个字段,id,des
id存放的是序号,des存放的是描述,有什么办法可以查询到des里的内容
比如我查询china,那么china和中国是意义上的同义词,那么des里包含china和中国的数据应该被选出来。
改如何处理?当然,这个china和中国是同义词的关系要提前定义好,我不知道该如何定义.
哪位大侠能帮帮忙,不胜感谢!

解决方案 »

  1.   


    create table(id number,      --序号
            c_name varchar2(20),  --中文名
            e_name varchar2(20)   --英文名
    );
      

  2.   

    应该是这样的,要有两个表:
    表1:test(id,des)  -->只存储国家代码,通过外键des找到country表的name
    表2:country(des,name)  -->存储国家代码,国家名称实际当你找到了代码,也就相当于找到了名称
    select A.id,A.des
    from test A,country B
    where A.des=B.des and (B.des=??? or B.name=???)
      

  3.   


    SQL> --建表:
    SQL> drop table test;Table droppedSQL> create table test(id number,      --序号
      2          c_name varchar2(20),  --中文名
      3          e_name varchar2(20)   --英文名
      4  );Table createdSQL> --插入数据:
    SQL> insert into test values(1,'中国','China');1 row insertedSQL> insert into test values(2,'美国','America');1 row insertedSQL> insert into test values(3,'中国美国','China dfsdf America');1 row insertedSQL> commit;Commit completeSQL> --查询:
    SQL> select * from test where e_name='China';        ID C_NAME               E_NAME
    ---------- -------------------- --------------------
             1 中国                 ChinaSQL> select * from test where c_name like '%中国%';        ID C_NAME               E_NAME
    ---------- -------------------- --------------------
             1 中国                 China
             3 中国美国             China dfsdf AmericaSQL> 
      

  4.   

    好像LZ的需求不是这样
    1,'中国'
    2,'China'
    3,'美国'
    4,'USA'
    ............
    像这样......存在主从表关系...1楼是正常的
      

  5.   

    好像LZ的需求不是这样
    1,'中国'
    2,'China'
    3,'美国'
    4,'USA'
    ............
    像这样......存在主从表关系...1楼是正常的
      

  6.   

    呵呵!我是楼主,可能我的提问太抽象了,
    2楼的,你的太具体了,比如我的同义词可能有3个,4个甚至更多比如 中国的同义词应该有 china,龙的传人,炎黄子孙,中华民族等,这时又该如何处理?
    光用主从关系的话,多个同义词如何处理?麻烦大家再帮我看看!
      

  7.   

    建两个表来着,一个是对应关系表
    a(id,name);
    b(id,aliasname);
    a 表:
    1,中国
    2,日本
    b表
    1,龙的传人
    1,炎黄子孙
    1,中华民族
    2,小日本
    2,鬼子
      

  8.   

    我是楼主,
    test表有2个字段,id,dz 
    id表示序号,dz表示地址
    其实,真正的需求是这样的
    我们要求建一个同义词库,这个同义词使我们可以编辑的,比如 中国的同义词,我们认为 china,炎黄子孙,龙的传人,中华民族 .都是 中国 的同义词,当我们检索 dz 字段时,如果输入的关键字是 中国时,那么包含他是同义词的炎黄子孙,龙的传人,中华民族 记录也应该被检索出来,同理,如果检索”龙的传人“ 那么其他同义词的记录也应该被检索出来。这样的问题该如何处理?