首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么获取需要的结果.

2013-01-23 
如何获取需要的结果..表1:原机型对应机型 SS4G225,26 SS4B225,226表2:原机型原机车号对应机车号SS4G003232

如何获取需要的结果..
表1:

原机型   对应机型
 SS4G     225,26
 SS4B     225,226

表2:
原机型  原机车号   对应机车号
SS4G     0032      32A,32B
SS4G     0132      132A,132B
SS4B     0232      232A,232B



如果我目前取得 225,32A 按照表中应该对应SS4G 0032

能通过SQL取出吗?
[解决办法]

declare @con nvarchar(50),@c1 nvarchar(20),@c2 nvarchar(20)
set @con='225,32A'
set @c1=','+LEFT(@con,CHARINDEX(',',@con))
set @c2=SUBSTRING(@con,CHARINDEX(',',@con),LEN(@con))+','

select a.原机型,b.原机车号 from 表1 a inner join 表2 b on a.原机型=b.原机型 
where charindex(@c1,','+对应机型+',')>0
and charindex(@c2,','+对应机车号+',')>0

把输入的值分步处理了,如果放在查询里处理也可以,就是写着麻烦

热点排行