惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
博客园 - 叶小钗
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
D
Docker
J
Java Code Geeks
B
Blog
G
Google Developers Blog
小众软件
小众软件
博客园 - 聂微东
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
IT之家
IT之家
量子位
WordPress大学
WordPress大学
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
宝玉的分享
宝玉的分享
腾讯CDC
Martin Fowler
Martin Fowler
V
Visual Studio Blog
D
DataBreaches.Net
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog

博客园 - 老狐狸

关于Update语句在不同数据库中的差别 出错存储过程 F_GETTABLELID 正则表达式求值 - 老狐狸 - 博客园 创建层次查询 ultrawebgrid - 老狐狸 - 博客园 javascript - 老狐狸 - 博客园 exp/imp导出导入工具的使用 ASP.NET1.1中Grid自定义眉头 asp.net1.0 TreeView asp.net2.0 TreeView 创建记录、数组 关闭远程数据库连接 创建游标 创建新的序列 创建隐式游标 创建临时表 更新表(多表相关联)
case when用法和and 后加条件
老狐狸 · 2006-07-18 · via 博客园 - 老狐狸

SELECT A.OrderSID as InvId,
       E.BizInvType 
as TypeCode,
       E.TypeName 
as TypeName,
       B.SimpleName 
as CorpName,
       C.StorName 
as StorName,
       
CASE
         
WHEN F_BS001QRYIONOTICE.UnitLevel_ = '1' THEN
          
-A.TotalDefQty / 250
         
WHEN F_BS001QRYIONOTICE.UnitLevel_ = '2' THEN
          
-A.TotalDefQty / 0
         
WHEN F_BS001QRYIONOTICE.UnitLevel_ = '3' THEN
          
-A.TotalDefQty
         
WHEN F_BS001QRYIONOTICE.UnitLevel_ = '4' THEN
          
-A.TotalDefQty * 10
         
WHEN F_BS001QRYIONOTICE.UnitLevel_ = '5' THEN
          
-A.TotalDefQty * 200
         
ELSE
          
-A.TotalDefQty
       
END as TotalDefQty,
       A.DetailCount,
       D.PersonName,
       A.InputTime,
       A.Remark,
       F.Enterprise 
as Sourcename
  
FROM B_OD_OrderMaster A
 
INNER JOIN G_OG_CorpInfo B ON A.CorpSID = B.CorpSID
 
INNER JOIN B_ST_BSRealStorAttr C ON A.RealStorSID = C.StorSID
 
INNER JOIN G_OG_PersonInfo D ON D.PersonSID = A.InputOperSID
 
INNER JOIN G_PB_BizInvType E ON E.BizInvType = '02'
  
LEFT JOIN G_CS_CUSTOMER F ON A.CUSTOMERSID = F.CUSTOMERSID

 
WHERE A.IsActive = '1'
   
AND A.IsReturn = '1'
   
AND A.IsStorAudit = '0'
   
AND A.IsBizAudit = '0'
   
AND SUBSTR(A.InputTime, 18>= F_BS001QRYIONOTICE.BeginDate_
      
   
AND SUBSTR(A.InputTime, 18<= F_BS001QRYIONOTICE.EndDate_
      
   
AND A.CorpSID = (CASE WHEN F_BS001QRYIONOTICE.CorpSID_ = '' OR
        F_BS001QRYIONOTICE.CorpSID_ 
IS NULL THEN A.CorpSID ELSE
        F_BS001QRYIONOTICE.CorpSID_ 
END)
      
   
AND A.RealStorSID = (CASE WHEN F_BS001QRYIONOTICE.StorSID_ = '' OR
        F_BS001QRYIONOTICE.StorSID_ 
IS NULL THEN
        A.RealStorSID 
ELSE F_BS001QRYIONOTICE.StorSID_ END)
      
   
AND E.IsInStor =
       (
CASE WHEN F_BS001QRYIONOTICE.State_ = '1' THEN '1' ELSE E.IsInStor END)
      
   
AND E.IsOutStor =
       (
CASE WHEN F_BS001QRYIONOTICE.State_ = '2' THEN '1' ELSE E.IsOutStor END)