日期:2014-05-17  浏览次数:20421 次

如何获取需要的结果..
表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

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