当前位置: 代码迷 >> ASP.NET >> 查询、SQL话语。请各位指点。
  详细解决方案

查询、SQL话语。请各位指点。

热度:10065   发布时间:2013-02-25 00:00:00.0
查询、SQL语句。。请各位指点。。
颜色列表

id name
1 红色
2 黑色
3 蓝色
。 。
。 。
。 。


衣服列表
id colorID name
1 1 米奇
2 1,2 米奇
3 1,2,3 米奇
4 2,3 米奇
5 2 米奇


现在用repeater显示色系。然后根据点击的色系、在衣服列表里查找含有此色系的衣服。
(假如我点击黑色,查找出来的就应该是衣服列表里的第2、3、4、5条记录。)

我已开始想到是like.可是仔细一想不行,然后用in,最后还是有点问题。。
求各位大侠,,指点。。这SQL语句,,怎样才能做到我要的筛选效果呢?

------解决方案--------------------------------------------------------
SQL code
declare @a varchar(10)set @a='2'--黑色select * from tb where charindex(','+@a+',',','+ colorID+',')>0
------解决方案--------------------------------------------------------
下面的方法肯定行用Contains方法:
C# code
 String str = "1,2,3,4,5";//你数据库中查询出的colorID字段        String temp=","+str+",";        int i = 2;        int j = 6;         bool b1=str.Contains(","+i+",");//包含2返回true;        bool b2=str.Contains(","+j+",");//不包含6返回false        Response.Write(b1+"     "+b2);
------解决方案--------------------------------------------------------
探讨
SQL code
select * from t1,t2 where t1.Id = t2.colorId and t2.colorId = 2

select * from t2 where colorId in (select Id from t1 where name='黑色')
  相关解决方案