SQL Server CASE WHEN逻辑实现:FABRIC RANGE为_SPECIAL时显示Description值
SQL Server Implementation for Conditional Fabric Range Display
针对你梳理的CASE逻辑需求——当FABRIC RANGE列的值等于_SPECIAL时,将该列替换为DESCRIPTION列的内容,其他情况保持原值——以下是对应的SQL Server查询语句:
SELECT [PO NUMBER] AS [PO number], CASE WHEN [FABRIC RANGE] = '_SPECIAL' THEN [DESCRIPTION] ELSE [FABRIC RANGE] END AS [Fabric Range], [DESCRIPTION] AS [Description] FROM YourTableName; -- 记得把这里替换成你的实际表名
语句说明:
- 用
CASE条件表达式实现核心逻辑判断:如果FABRIC RANGE的值是_SPECIAL,就返回DESCRIPTION的内容作为Fabric Range列的值;否则保留原FABRIC RANGE的值。 - 通过列别名
AS将输出列名调整为你期望的格式(比如把PO NUMBER改为PO number,和目标结果的大小写、空格完全匹配)。
结果验证:
原查询数据:
PO NUMBER | FABRIC RANGE | DESCRIPTION
P18030096 | Fiesta Indigo | Indigo
P18030097 | _SPECIAL | Dolly Denim
P18030098 | Quantum Nebula | Nebula
P18030098 | _SPECIAL | Dolly Magenta
执行上述语句后,会得到你期望的结果:
PO number | Fabric Range | Description
P18030096 | Fiesta Indigo | Indigo
P18030097 | Dolly Denim | Dolly Denim
P18030098 | Quantum Nebula | Nebula
P18030098 | Dolly Magenta | Dolly Magenta
内容的提问来源于stack exchange,提问作者user9399808
相关产品推荐
相关产品推荐

