有两个手机机型的终端表,tab1里字段device都是机型最精简的机型型号,而tab2 里的字段里除了有机型型号
以外,还有其他的一些字符,现在要求tab1 和tab2关联,使得tab1里精简的型号能够和tab2里的
模糊匹配,测试数据如下:
--tab1的数据
insert into tab1 (SNAME)
values ('R750');insert into tab1 (SNAME)
values ('Phone');insert into tab1 (SNAME)
values ('XT806');insert into tab1 (SNAME)
values ('三星I909');insert into tab1 (SNAME)
values ('T9199');insert into tab1 (SNAME)
values ('N930');--tab2的数据
create table tab2 (device varchar(50);
insert into tab2 (DEVICE)
values ('(代理商)中兴R750(指定智能3G)');insert into tab2 (DEVICE)
values ('联想乐Phone(指定智能3G)');insert into tab2 (DEVICE)
values ('(代理商)摩托罗拉XT806(指定智能3G)');insert into tab2 (DEVICE)
values ('MOTOME811(指定智能3G)');insert into tab2 (DEVICE)
values ('三星I909(指定智能3G)');insert into tab2 (DEVICE)
values ('(代理商)HTC-T9199(指定智能3G)');insert into tab2 (DEVICE)
values ('酷派N930(指定智能3G)');insert into tab2 (DEVICE)
values ('三星W899(指定智能3G)');insert into tab2 (DEVICE)
values ('(代理商)摩托罗拉XT800(指定智能3G)');insert into tab2 (DEVICE)
values ('摩托罗拉XT800(指定智能3G)');insert into tab2 (DEVICE)
values ('摩托罗拉XT800(员工指定智能3G)');insert into tab2 (DEVICE)
values ('(代理商)MOTO-XT800+(指定智能3G)');insert into tab2 (DEVICE)
values ('MOTOXT800+(指定智能3G)');insert into tab2 (DEVICE)
values ('MOTO XT806(指定智能3G)');
以外,还有其他的一些字符,现在要求tab1 和tab2关联,使得tab1里精简的型号能够和tab2里的
模糊匹配,测试数据如下:
--tab1的数据
insert into tab1 (SNAME)
values ('R750');insert into tab1 (SNAME)
values ('Phone');insert into tab1 (SNAME)
values ('XT806');insert into tab1 (SNAME)
values ('三星I909');insert into tab1 (SNAME)
values ('T9199');insert into tab1 (SNAME)
values ('N930');--tab2的数据
create table tab2 (device varchar(50);
insert into tab2 (DEVICE)
values ('(代理商)中兴R750(指定智能3G)');insert into tab2 (DEVICE)
values ('联想乐Phone(指定智能3G)');insert into tab2 (DEVICE)
values ('(代理商)摩托罗拉XT806(指定智能3G)');insert into tab2 (DEVICE)
values ('MOTOME811(指定智能3G)');insert into tab2 (DEVICE)
values ('三星I909(指定智能3G)');insert into tab2 (DEVICE)
values ('(代理商)HTC-T9199(指定智能3G)');insert into tab2 (DEVICE)
values ('酷派N930(指定智能3G)');insert into tab2 (DEVICE)
values ('三星W899(指定智能3G)');insert into tab2 (DEVICE)
values ('(代理商)摩托罗拉XT800(指定智能3G)');insert into tab2 (DEVICE)
values ('摩托罗拉XT800(指定智能3G)');insert into tab2 (DEVICE)
values ('摩托罗拉XT800(员工指定智能3G)');insert into tab2 (DEVICE)
values ('(代理商)MOTO-XT800+(指定智能3G)');insert into tab2 (DEVICE)
values ('MOTOXT800+(指定智能3G)');insert into tab2 (DEVICE)
values ('MOTO XT806(指定智能3G)');
解决方案 »
- oracle的sql语句自动补全
- 小白敢问数据库视图约束是否和表的约束一样?还有oracle函数和存储过程有什么区别?感觉两者语法差不多
- alter database open 报ora-00354 00353 00312错误,请帮给个解决方法,谢谢
- 统计某字段里面的信息个数,怎么写呢?
- 时间转换问题
- TNS: 监听程序在 CONNECT_DATA中未获得 SERVICE_NAME
- 把oracle中运行的sql语句改成能在sql server中能运行的sql语句!
- 怎么把xml文件导入到oracle数据中呢!~~~
- 新弄了oracle 9i三张盘的那种,安装界面刚出来就没相应了,请问是什么问题阿?
- Oracle数据库中系统表PBCATCOL是如何建立的?
- 读取旧库的数据文件?
- sum函数求和问题
create table tab1 (device varchar(20)) ;
insert into tab1 (SNAME)
values ('R750');insert into tab1 (SNAME)
values ('Phone');insert into tab1 (SNAME)
values ('XT806');insert into tab1 (SNAME)
values ('三星I909');insert into tab1 (SNAME)
values ('T9199');insert into tab1 (SNAME)
values ('N930');
where instr(t2.DEVICE,t1.SNAME)> 0
select t2.*
from tab1 t1,tab2 t2
where instr(t2.DEVICE,t1.SNAME)>0
create table tab1 (sname varchar(20)) ;
select * from tab1;
SNAME
--------------------
R750
Phone
XT806
三星I909
T9199
N930
--
create table tab2 (device varchar(50));
select * from tab2;DEVICE
--------------------------------------------------
(代理商)中兴R750(指定智能3G)
联想乐Phone(指定智能3G)
(代理商)摩托罗拉XT806(指定智能3G)
MOTOME811(指定智能3G)
三星I909(指定智能3G)
(代理商)HTC-T9199(指定智能3G)
酷派N930(指定智能3G)
三星W899(指定智能3G)
(代理商)摩托罗拉XT800(指定智能3G)
摩托罗拉XT800(指定智能3G)
摩托罗拉XT800(员工指定智能3G)
(代理商)MOTO-XT800+(指定智能3G)
MOTOXT800+(指定智能3G)
MOTO XT806(指定智能3G)
--
select t1.sname,t2.device
from tab1 t1,tab2 t2
where instr(t2.device,t1.sname)>0;SNAME DEVICE
-------------------- --------------------------------------------------
R750 (代理商)中兴R750(指定智能3G)
Phone 联想乐Phone(指定智能3G)
XT806 (代理商)摩托罗拉XT806(指定智能3G)
XT806 MOTO XT806(指定智能3G)
三星I909 三星I909(指定智能3G)
T9199 (代理商)HTC-T9199(指定智能3G)
N930 酷派N930(指定智能3G)
--
select *
from tab2
where device like '%R750%' or
device like '%Phone%' or
device like '%XT806%' or
device like '%T9199%' or
device like '%N930%';DEVICE
--------------------------------------------------
(代理商)中兴R750(指定智能3G)
联想乐Phone(指定智能3G)
(代理商)摩托罗拉XT806(指定智能3G)
(代理商)HTC-T9199(指定智能3G)
酷派N930(指定智能3G)
MOTO XT806(指定智能3G)
select t1.sname,t2.device
from tab2 t2,tab1 t1
where regexp_instr(t2.device,t1.sname,1)>0