set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER PROC [dbo].[usp_SRV_GetALLRelativeProject]
@ServiceOrderID VARCHAR(50)
AS
/*
PAGE: 通过服务单ID 获取该服务单关联的单子信息    
Action: 服务单处理页面

CreatedBy: XXX
CreatedDate: 20101021
ModifiedHistory:

Test Scripts:

EXEC usp_SRV_GetALLRelativeProject 'SRV000000014'

*/ 
BEGIN
SELECT d.[Type],
d.TypeID,
d.[Desc],
d.VariationOrderID,
CASE 
WHEN d.WorkOrderStatus IS NULL THEN d.SrvOrderStatus
ELSE d.WorkOrderStatus
END AS Status,
CASE 
WHEN d.WorkOrderHName IS NULL THEN d.SrvOrderHName
ELSE d.WorkOrderHName
END AS HName
FROM (
   SELECT r.[Type],
   r.TypeID,
   r.VariationOrderID,
   r.[Desc],
   a.DictName AS SrvOrderStatus,
   hand.HName AS SrvOrderHName,
   CASE wo.Status
   WHEN 1 THEN '处理中'
   WHEN 2 THEN '完成'
   END AS WorkOrderStatus,
   wo.HandlerName AS WorkOrderHName
   FROM dbo.tbl_VariationOrderRelativeProject r
   INNER JOIN tbl_ServiceOrder s
   ON r.VariationOrderID = @ServiceOrderID
   AND s.ServiceOrderID = @ServiceOrderID
   LEFT JOIN (
    SELECT * FROM dbo.tbl_Dictionary
    WHERE DictType = 'ServiceOrderStatus'
   ) a
   ON s.StatusCode = a.DictCode
   LEFT JOIN tbl_ServiceHandlerInfo hand
   ON r.VariationOrderID = hand.ServiceOrderID
   LEFT JOIN dbo.tbl_ServiceWorkOrder wo
   ON r.TypeID = wo.ServiceWorkOrderID
) d

END

case then 的用法 貌似case then不支持别名的更多相关文章

  1. Case when 的用法,简单Case函数

    Case when 的用法,简单Case函数 简单CASE表达式,使用表达式确定返回值. 语法: CASE search_expression WHEN expression1 THEN result ...

  2. CASE WHEN 及 SELECT CASE WHEN的用法(转)

    Case具有两种格式.简单Case函数和Case搜索函数. 简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END   ...

  3. 转-sql中的case when的用法

    Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...

  4. switch… case 语句的用法(二)

    总结来说:switch的用法是判断case后面的表达式和switch后面的表达式是否相匹配,一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break.都不匹配找d ...

  5. switch… case 语句的用法

    switch… case 语句的用法   public class Test7 { public static void main(String[] args) { int i=5; switch(i ...

  6. CASE WHEN 及 SELECT CASE WHEN的用法

    CASE WHEN 及 SELECT CASE WHEN的用法 Case具有两种格式.简单Case函数和Case搜索函数. 简单Case函数 CASE sex WHEN '1' THEN '男' WH ...

  7. SQL进阶1:case表达式的用法示例

    一:case表达式的用法 1.SQL中的case表达式的作用是用来对"某个变量"进行某种转化,通常在select字句中使用,举个例子: 不能看出,case表达式很像我们的if el ...

  8. Shell脚本中的逻辑判断、文件目录属性判断、if的特殊用法、case判断

    1.Shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi格式2:if 条件; then 语句; else 语句; fi格式3:if …; then … ;elif …; then ...

  9. MS SQL CASE WHEN 的用法

    前言 由于经常使用 case when 的2种情况方式,如果=1 则*** 否则 *** 结束.久而久之,都以为只能这么用,都忘记了Case WHEN 的用法. 示例   ,              ...

随机推荐

  1. Poj1741-Tree(树分治)

    题意:找树上有多少对距离小于K的对数解析:树分治模板题,见注释 代码 #include<cstdio> #include<cstring> #include<string ...

  2. Fedora 22(15以上版本)开机自启动脚本

    前段时间做了一个网站btdog磁力与btdog电视直播.DHT爬虫需要消耗比较多的资源,原来的服务器不够用了,于是自己使用电脑搭了一台服务器,使用Fedora22系统.在Fedora22中自动写了些开 ...

  3. HDOJ-1013 Digital Roots

    http://acm.hdu.edu.cn/showproblem.php?pid=1013 1.给出一个整数,求每一位上的数字之和 2.若求出的和大于1位,则对该和继续执行第1步,直至和的位数为1 ...

  4. 用特殊字体来实现矢量ICON

    用特殊字体来实现矢量ICON tips:其实每个icon都是一个unicode字符,所以,可以通过改变font-size实现icon的矢量放大:可以通过改变color实现多色系.

  5. discuz!NT 常用操作

    一.编辑模版,需在后台模版管理里编辑并提交,这样系统能批量更改相关模版.如:更改登录. 二.config.a 表明:config表示配置文件,a表示配置节名称为a,需在路径 upload_files\ ...

  6. vps安全设置

    适合新手及才接触VPS的朋友们看一下.主要是关于VPS安全方面相关内容的 禁止ROOT登陆 保证安全性. 使用DDoS deflate简单防攻击. iftop Linux流量监控工具: 每日自己主动备 ...

  7. [Immutable.js] Using fromJS() to Convert Plain JavaScript Objects into Immutable Data

    Immutable.js offers the fromJS() method to build immutable structures from objects and array. Object ...

  8. docker 数据管理

    一,介于创建docker容器退出或者删除容器数据无法得以保存以及docker容器中的分区较小的问题存在,未解决该问题,可以使用参考以下几种方法. 1,将宿主的目录挂载到容器中去. docker run ...

  9. 前端--关于javascript基础

    首先javascript不是浏览器的附属品,只能说它大多数的运行环境是在浏览器中的,但又不仅仅局限于浏览器中.它是一门真正的程序设计语言,在这方面它和java.c.c++.c#是等同的,只不过它不直接 ...

  10. javascript 多图无缝切换

    思路只要是ul移动前,首先将当前显示的li克隆岛ul最后,当每次运动执行完毕后,再将前面的li删除,如此循环. <!DOCTYPE html> <html> <head& ...