首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

2012-09-04 
查询、SQL语句。。请各位指点。。颜色列表idname1红色2黑色3蓝色。。。。。。衣服列表idcolorIDname11米奇21,2米奇31,

查询、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='黑色')

热点排行