我有下表:
id productname model price color size
1 mouse m220 50 red 50
2 keyboard k520 50 red 50
3 mouse mouse220 50 red 50
4 pendive p220 50 red 50
5 laptopfan m220 50 red 50
现在,当我搜索mouse m220
时,它会在productname
和model
字段中找到所有产品。
现在假设我正在搜索mouse m220
,那么它会给我以下输出:
id productname model price color size
1 mouse m220 50 red 50
3 mouse mouse220 50 red 50
5 laptopfan m220 50 red 50
现在假设我正在搜索mouse
,那么它会给我以下输出:
id productname model price color size
1 mouse m220 50 red 50
3 mouse mouse220 50 red 50
那我怎么能得到这个输出?
答案 0 :(得分:1)
declare @cta varchar(100),@cta1 as varchar(50),@cta2 varchar(50)
set @cta='mouse m220'
select @cta1=case when charindex(' ',@cta)>0 then substring(@cta,1,charindex(' ',@cta)) else @cta end ,@cta2=substring(@cta,charindex(' ',@cta)+1,(len(@cta)-charindex(' ',@cta)+1))
SELECT * FROM <TABLE_NAME> WHERE productname = @cta1 OR model = @cta2;
答案 1 :(得分:0)
这些将是两个简单的查询,如下所示:
在第一个查询中,您希望productname等于&#34; mouse&#34;或模型等于&#34; m220&#34;的行。这将导致如下简单查询 -
SELECT * FROM <TABLE_NAME> WHERE productname = "mouse" OR model = "m220";
第二个查询更简单。您只需要productname等于&#34; mouse&#34;。
的行SELECT * FROM <TABLE_NAME> WHERE productname = "mouse";