zoukankan      html  css  js  c++  java
  • sql if else 写法,和 多个case when用法

    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    GO
    /*
    * create by huang qing
    * modify by chaoxueling
    * modify date 2013-05-15
    */
    ALTER PROCEDURE [dbo].[sp_GetPropsTop_ByPropsCount]
     @PageIndex  int,
     @PageSize  int,
     @OrderType  int
    AS
    BEGIN

    if(@OrderType=1)
    begin
    with Mem_TbUserPropsTop as
     (
      select A.*,b.PropsCountB,ROW_NUMBER() over (order by PropsCountA desc) as rowNumber from (
      select  QdUserId,PropsId,propscnt as PropsCountA from tbuserpropscnt where   propsid=153
       ) as A
      full  join(
      select  QdUserId,PropsId,propscnt as PropsCountB from tbuserpropscnt where  propsid=154
      ) as B
      on a.qduserid=b.qduserid
        )
     select qduserid,PropsId,ISNULL(PropsCountA,0) as PropsCountA,ISNULL(PropsCountB,0) as PropsCountB, rowNumber from Mem_TbUserPropsTop
     where rowNumber>@PageSize*(@PageIndex-1) and RowNumber<=@PageSize*@PageIndex
     order by   PropsCountA  desc 
    end
    else if(@OrderType=0)
    begin
    with Mem_TbUserPropsTop as
     (
      select A.*,b.PropsCountA,ROW_NUMBER() over (order by PropsCountB desc) as rowNumber from (
      select  QdUserId,PropsId,propscnt as PropsCountB from tbuserpropscnt where   propsid=154
       ) as A
      full  join(
      select  QdUserId,PropsId,propscnt as PropsCountA from tbuserpropscnt where  propsid=153
      ) as B
      on a.qduserid=b.qduserid
        )
     select qduserid,PropsId,ISNULL(PropsCountA,0) as PropsCountA,ISNULL(PropsCountB,0) as PropsCountB, rowNumber from Mem_TbUserPropsTop
     where rowNumber>@PageSize*(@PageIndex-1) and RowNumber<=@PageSize*@PageIndex
     order by   PropsCountB desc 
    end
    else
    begin
    with Mem_TbUserPropsTop as
     (
      select A.*,b.PropsCountA,ROW_NUMBER() over (order by PropsCountB desc) as rowNumber from (
      select  QdUserId,PropsId,propscnt as PropsCountB from tbuserpropscnt where   propsid=154
       ) as A
      full  join(
      select  QdUserId,PropsId,propscnt as PropsCountA from tbuserpropscnt where  propsid=153
      ) as B
      on a.qduserid=b.qduserid
        )
     select qduserid,PropsId,ISNULL(PropsCountA,0) as PropsCountA,ISNULL(PropsCountB,0) as PropsCountB, rowNumber from Mem_TbUserPropsTop
     where rowNumber>@PageSize*(@PageIndex-1) and RowNumber<=@PageSize*@PageIndex
     order by   PropsCountB desc 
    end


    END

     和

     order by   case when @OrderType=1  then PropsCountA when @OrderType=0 then PropsCountB when @OrderType=2  then PropsCountC else PropsCountD end  desc 

  • 相关阅读:
    登录认证,全选,反选
    jQuery基础知识
    jQuery
    js练习
    BOM DOM
    mysql视图
    用CrwalSpider爬取boss直聘
    设置piplines.py数据管道
    在middlewares.py文件里添加代理ip
    爬取豆瓣电影
  • 原文地址:https://www.cnblogs.com/cxlings/p/3077762.html
Copyright © 2011-2022 走看看