日期:2014-05-18 浏览次数:20556 次
declare @Article table (ArticleName varchar(6),ArticleContent varchar(7),ArticleType varchar(6)) insert into @Article select 'asdf','sdf','1' union all select 'sdfsd','sdfads','2' union all select 'sadfas','dsfsa','3' union all select 'sadf','sdfs','4,5' union all select 'sadf','fewsfd','5' union all select 'asdf','sfes','6' union all select 'sdfsf','esef','7' union all select 'aasdf','sdfsdf','3,4' union all select 'asdfas','fesfdfs','2' union all select 'safas','sfef','4' union all select 'sadf','sfasf','3' select * from @Article where charindex('4,',ArticleType+',')<>0 /* ArticleName ArticleContent ArticleType ----------- -------------- ----------- sadf sdfs 4,5 aasdf sdfsdf 3,4 safas sfef 4 */ -- 如果因为较少的数据,而把库设计成这样,效率就差了太多了
------解决方案--------------------
1.文章表中建一个字段,保存'分类1,分类二,分类3'
2.建一个表,两个字段,文章ID,类别ID,关联文章和类别
------解决方案--------------------
还是另外建一个表方便一点 用两个字段 文章ID 类别ID 来关联第一个表 这样查询方便一点
------解决方案--------------------
A:文章ID,文章名称
B:分类ID,分类名称
C:文章ID,分类ID
SELECT B.*,A.* FROM B INNER JOIN C
ON (B.分类ID=C.分类ID)
INNER JOIN A ON (A.文章ID=C.文章ID)
WHERE B.分类ID='XXXX'
------解决方案--------------------
分两个表吧,一个文章表,一个分类表,有文章ID关联两个表