专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > ASP.NET

SQL有关问题,怎么SELECT多个LIKE条件中符合的那一列

发布时间:2011-06-22 17:15:22 文章来源:www.iduyao.cn 采编人员:星星草
SQL问题,如何SELECT多个LIKE条件中符合的那一列。
请问:
我要做一个预搜索的功能,类似Google那样,输入框中的字符变化的时候,下面就列出条件符合的结果。条件有3个,只要符合其一就可。我用下面这个存储过程可以得到一个DataSet:
  SELECT pname,typename,stylename
FROM products
WHERE pname like (@key + '%')
OR typename like (@key + '%')
OR stylename like (@key + '%')
ORDER BY pname,typename,stylename
但是问题是:我要把这个产品符合条件的那一个字段的值显示到列表中,可我并不知道是哪一个字段。
有没有办法直接在存储过程中只返回符合条件的那个字段的值(即只 SELECT 3列中的1列,是符合的那列)。

------解决方案--------------------
如果 3列 都有 符合的 你要怎么处理
SQL code
 SELECT pname
FROM products 
WHERE pname like (@key + '%') 
union all
   SELECT typename
FROM products 
WHERE typename like (@key + '%') 
union all
   SELECT stylename 
FROM products 
WHERE stylename like (@key + '%')

------解决方案--------------------
把SQL语句改一下,另外后台在查询字段前也加个%
SQL code

SELECT pname FROM products WHERE pname like ('%'+@key + '%') union all 
SELECT typename FROM products where typename like ('%'+@key + '%') union all 
SELECT stylename FROM products where stylename like ('%'+@key + '%')

------解决方案--------------------
SQL code

select * from(
SELECT pname as name,clickcount 
FROM products 
WHERE pname like (@key + '%') 
union 
SELECT typename,clickcount 
FROM products 
WHERE typename like (@key + '%') 
union 
SELECT stylename,clickcount  
FROM products 
WHERE stylename like (@key + '%')
) t order by name,clickcount
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: