You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL查询中为CREATEDATBRANCH字段添加对应名称列

问题:如何在CREATEDATBRANCH列旁添加显示名称的列?

我希望在CREATEDATBRANCH列旁添加一列,显示对应的名称而非数字,该如何实现?

以下是我当前的SQL查询:

SELECT [PARENTACCOUNT]
  ,[ID]
  ,[TYPE]
  ,[ORIGINALDATE]
  ,[OPENDATE]
  ,[CHARGEOFFDATE]
  ,[CLOSEDATE]
  ,[PURPOSECODE]
  ,BALANCE AS 'Current Balance'  
  ,[ORIGINALBALANCE]
  ,[CHARGEOFFTYPE]
  ,[CHARGEOFFAMOUNT]
  ,[DESCRIPTION]
  ,[MATURITYDATE]
  ,[BRANCH]
  ,[CREATEDBYUSER]
  ,[CREATEDATBRANCH]
FROM 
    [dbo].[LOAN]
WHERE
    OPENDATE BETWEEN '2023-09-01' AND '2023-09-30' 
    AND CLOSEDATE IS NULL; 

我尝试了以下代码,但它并未整合进主查询,而是生成了另一个结果集:

SELECT
    CREATEDATBRANCH,
    CASE
        WHEN CREATEDATBRANCH = 0 THEN 'Special'
        ELSE CAST(LOAN.CREATEDATBRANCH AS varchar(4))
    END AS 'Location'
FROM
    LOAN;

解决方案

直接把CASE表达式嵌入到主查询的SELECT列表中,放在CREATEDATBRANCH列的旁边即可,这样就能在同一个结果集里同时显示原数字列和对应的名称列:

SELECT [PARENTACCOUNT]
  ,[ID]
  ,[TYPE]
  ,[ORIGINALDATE]
  ,[OPENDATE]
  ,[CHARGEOFFDATE]
  ,[CLOSEDATE]
  ,[PURPOSECODE]
  ,BALANCE AS 'Current Balance'  
  ,[ORIGINALBALANCE]
  ,[CHARGEOFFTYPE]
  ,[CHARGEOFFAMOUNT]
  ,[DESCRIPTION]
  ,[MATURITYDATE]
  ,[BRANCH]
  ,[CREATEDBYUSER]
  ,[CREATEDATBRANCH]
  -- 新增的Location列,放在CREATEDATBRANCH旁
  ,CASE
        WHEN CREATEDATBRANCH = 0 THEN 'Special'
        ELSE CAST(CREATEDATBRANCH AS varchar(4))
    END AS 'Location'
FROM 
    [dbo].[LOAN]
WHERE
    OPENDATE BETWEEN '2023-09-01' AND '2023-09-30' 
    AND CLOSEDATE IS NULL; 

逻辑说明:

  • 当CREATEDATBRANCH的值为0时,Location列显示字符串'Special'
  • 其他情况将数字转为字符串类型显示,保持原数字内容

内容的提问来源于stack exchange,提问作者AlwaysLearning

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 12:57:21