我有一个表名为test,表有2个字段,id,des
id存放的是序号,des存放的是描述,有什么办法可以查询到des里的内容
比如我查询china,那么china和中国是意义上的同义词,那么des里包含china和中国的数据应该被选出来。
改如何处理?当然,这个china和中国是同义词的关系要提前定义好,我不知道该如何定义.
哪位大侠能帮帮忙,不胜感谢!
id存放的是序号,des存放的是描述,有什么办法可以查询到des里的内容
比如我查询china,那么china和中国是意义上的同义词,那么des里包含china和中国的数据应该被选出来。
改如何处理?当然,这个china和中国是同义词的关系要提前定义好,我不知道该如何定义.
哪位大侠能帮帮忙,不胜感谢!
create table(id number, --序号
c_name varchar2(20), --中文名
e_name varchar2(20) --英文名
);
表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=???)
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>
1,'中国'
2,'China'
3,'美国'
4,'USA'
............
像这样......存在主从表关系...1楼是正常的
1,'中国'
2,'China'
3,'美国'
4,'USA'
............
像这样......存在主从表关系...1楼是正常的
2楼的,你的太具体了,比如我的同义词可能有3个,4个甚至更多比如 中国的同义词应该有 china,龙的传人,炎黄子孙,中华民族等,这时又该如何处理?
光用主从关系的话,多个同义词如何处理?麻烦大家再帮我看看!
a(id,name);
b(id,aliasname);
a 表:
1,中国
2,日本
b表
1,龙的传人
1,炎黄子孙
1,中华民族
2,小日本
2,鬼子
test表有2个字段,id,dz
id表示序号,dz表示地址
其实,真正的需求是这样的
我们要求建一个同义词库,这个同义词使我们可以编辑的,比如 中国的同义词,我们认为 china,炎黄子孙,龙的传人,中华民族 .都是 中国 的同义词,当我们检索 dz 字段时,如果输入的关键字是 中国时,那么包含他是同义词的炎黄子孙,龙的传人,中华民族 记录也应该被检索出来,同理,如果检索”龙的传人“ 那么其他同义词的记录也应该被检索出来。这样的问题该如何处理?