求一个简单的查询

来源:百度知道 编辑:UC知道 时间:2024/05/28 14:21:56
分类表(t_Cate)

cateID cateName
1 音乐
2 时尚
3 动漫

新闻表(t_News)

newsID newsTitle cateID
1 标题一 1,3
2 标题二 1,2
3 标题三 2,3

问题:查询包含某一分类ID的全部新闻

假如查询分类ID为1的,就是
newsID newsTitle cateID
1 标题一 1,3
2 标题二 1,2

查询分类ID为3的,就是
newsID newsTitle cateID
1 标题一 1,3
2 标题三 2,3

--分类表
declare @t_Cate table(
cateId int identity(1,1),
cateName varchar(64)
)

--新闻表
declare @t_News table(
newsId int identity(1,1),
newsTitle varchar(64),
cateId varchar(32)
)

insert into @t_Cate
select '音乐'
union all
select '时尚'
union all
select '动漫'

insert into @t_News
select '标题1','1,3'
union all
select '标题2','1,2'
union all
select '标题1','2,3'

select a.*
from @t_News a
where charindex('1,',a.cateid+',')>0