数据库中各种操作方式累积。这个主要是测试显示使用多种方法

来源:互联网 发布:c语言打印九九乘法表 编辑:程序博客网 时间:2024/05/15 23:52
  1. alter PROCEDURE [dbo].[web_GetAllFriendInfo]
  2. @AdvisorId uniqueidentifier,
  3. @PageSize int,
  4. @PageIndex int,
  5. @Total int output
  6. AS
  7. create table #tmp
  8. (
  9.     rowid int,
  10.     AdvisorId uniqueidentifier,
  11.     FriendId uniqueidentifier
  12. )
  13. insert into #tmp select ROW_NUMBER() over (order by UpdateDate desc) as rowid,AdvisorId,FriendId
  14. from AdvisorDb.dbo.Friends where AdvisorId=@AdvisorId
  15. select a.rowid,a.AdvisorId, b.FriendId,b.email,b.advisorname,b.status,b.gender,
  16. (case when b.risktype is null then N'未知' else b.risktype end) as risktype ,
  17. b.avatar,
  18. (case when b.avatarwidth is null then 0 else b.avatarwidth end) as avatarwidth,
  19. (case when b.avatarheight is null then 0 else b.avatarheight end) as avatarheight
  20.  from #tmp a left join 
  21. (select pa.*,avatar,avatarwidth,avatarheight from (select AdvisorId as FriendId ,email,advisorname,status,gender,risktype from AdvisorDb.dbo.Advisors t left join AdvisorDb.dbo.RiskResult p on t.AdvisorId=p.AccountId) pa
  22. left join (select email ,avatar,avatarwidth,avatarheight from Discuz.dbo.dnt_users da,Discuz.dbo.dnt_userfields db where da.uid=db.uid) pf
  23. on pa.email collate SQL_Latin1_General_CP1_CI_AS=pf.email) b
  24. on a.FriendId=b.FriendId 
  25. where rowid>@PageSize*(@PageIndex-1) and rowid<=@PageSize*@PageIndex
  26. order by rowid
  27. drop table #tmp
  28. declare @total int
  29. exec [web_GetAllFriendInfo] '3AC8F780-365C-48AD-A1A1-03F4913CBA10',20,1,@total output
原创粉丝点击