首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

寻求最优化:同一个记录属于多个分类,查询某分类时最优sql语句?该怎么解决

2012-04-07 
寻求最优化:同一个记录属于多个分类,查询某分类时最优sql语句?假如我有一个文章同时属于分类1,分类二,分类

寻求最优化:同一个记录属于多个分类,查询某分类时最优sql语句?
假如我有一个文章

同时属于分类1,分类二,分类3 .....

想请教下大侠们,这个数据库怎么设计最合理?

查询某分类下记录时sql语句怎么最优化?


用like好像不是很理想。谢谢。

[解决办法]

SQL code
declare @Article table (ArticleName varchar(6),ArticleContent varchar(7),ArticleType varchar(6))insert into @Articleselect 'asdf','sdf','1' union allselect 'sdfsd','sdfads','2' union allselect 'sadfas','dsfsa','3' union allselect 'sadf','sdfs','4,5' union allselect 'sadf','fewsfd','5' union allselect 'asdf','sfes','6' union allselect 'sdfsf','esef','7' union allselect 'aasdf','sdfsdf','3,4' union allselect 'asdfas','fesfdfs','2' union allselect 'safas','sfef','4' union allselect 'sadf','sfasf','3'select * from @Article where charindex('4,',ArticleType+',')<>0/*ArticleName ArticleContent ArticleType----------- -------------- -----------sadf        sdfs           4,5aasdf       sdfsdf         3,4safas       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关联两个表

热点排行