首页新闻找找看学习计划

关于sql查询的问题

0
悬赏园豆:40 [已解决问题] 解决于 2011-03-14 15:56

有两张表新闻表和新闻类别表

新闻表:
Act_ID pk int
Sort_Key  nvarchar
Act_Title  nvarchar .....

类别表:
Sort_ID pk int
Sort_Key nvarchar
Sort_Name  nvarchar
Sort_FatherKey nvarchar ... ...

新闻表
Act_ID      Sort_Key     Act_Title 
   1             webnew      1111111111111111
   2             webnew      222222222222
   3             webnew      33333333333333
   4             webnew      4444444444444
   5             webnew      555555555555555
   6             keynew      555555555555555
   7             keynew      555555555555555
   8             keynew      555555555555555
   9             keynew      555555555555555
   10           mynews      555555555555555
   11           mynews       555555555555555

类别表:
Sort_ID     Sort_Key        Sort_Name      Sort_FatherKey
  1                 news               新闻中心                0
  2                 webnew          网站新闻                news 
  3                 keynew           关键字新闻              news 
  4                 mynews           我的新闻                keynew

现在我想查询 所有news   新闻中心类别下面的记录 应该如何查询最合理? 最好是能使用视图之类的。。

在线等谢谢

后天下雪的主页 后天下雪 | 初学一级 | 园豆:60
提问于:2011-03-10 20:07
< >
分享
最佳答案
0

if exists(select * from sysobjects where name ="view_news")

drop view view_news

go

create view view_news

as

select * from 新闻表 where Sort_Key=(select * from Sort_Key where  Sort_Name ="新闻中心" )

go

视图创建完毕

查询的时候 直接使用查询语句

select * from view_news

收获园豆:40
QA龙 | 初学一级 |园豆:162 | 2011-03-10 20:58
效果不佳
后天下雪 | 园豆:60 (初学一级) | 2011-03-14 15:56
这是个常用的嵌套子查询例子啊,我觉得没有多大可以改进的地方啊,性能都差不了太多。 谁有更好的办法的话,请多指教。我也是新手。知道的不多
QA龙 | 园豆:162 (初学一级) | 2011-03-14 20:01
其他回答(1)
0

if exists(select * from sysobjects where name ="view_news")

drop view view_news

go

create view view_news

as

select * from 新闻表 where Sort_Key=(select Sort_Key  from 类别表 where  Sort_Name ="新闻中心" )

go

视图创建完毕

查询的时候 直接使用查询语句

select * from view_news

奋斗张 | 园豆:514 (小虾三级) | 2011-03-11 08:20
效果不佳
支持(0) 反对(0) 后天下雪 | 园豆:60 (初学一级) | 2011-03-14 15:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册