超长查询,不同的查询条件,不同的参数,查出来的数据放在一个临时表中的方法

如题:要创建一个存储过程:

表A: 字段有:id,names,date,typeID(类别ID)

当然这里,也就不说出类别的字段了。只要知道typeID引用的type表中的主键。

那这个存储过程的要求如下:

       需要在一个页面中获取typeID=1,2,3的三种不同的信息各10条。比如就说是新闻吧。

typeID=1:原创新闻

typeID=2:转载新闻

typeID=3:时事新闻

那么页面上需要的就是,着三类新闻个十条。至于显示方式就不管了。

 

存储过程的写法呢?

一条存储过程,@typeID作为参数?这样的话,是不是需要ADO.NET需要在数据库中进行三次查询?

那能不能,一次性将这十条数据都查询出来,同时再根据新闻的发表日期倒序排列呢?

答案是:可以的。

ALTER procedure SelectAllInfo
As
select top 10 row_number() over(order by date desc) as id,N_ID,
     id,
     names from A  where typeID=1
union all
select top 10 row_number() over(order by date desc) as id,N_ID,
     id,
     names from A  where typeID=2
union all
select top 10 row_number() over(order by date desc) as id,N_ID,
     id,
     names from A  where typeID=3

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值