【发布时间】:2015-05-15 14:53:09
【问题描述】:
我正在尝试使用 Case 语句来检查一列是否具有某个值,并根据该值设置另一列等于某个值。任何有关如何执行此操作的帮助将不胜感激。
类似这样的:
SELECT
td=isnull(a.[Instance_Name],''), '',
td=isnull
(CASE
WHEN a.[Instance_Name] LIKE 'ZZZ%'
THEN 'ZZZ'
ELSE MAX(dbl.[Mnemonic])
END AS dbl.[Mnemonic]), '',
td=isnull(dbl.[Env_Type],''), '',
FROM #FailedCRITs a
INNER JOIN [Util].[DBLIST] dbl ON a.[Instance_Name] = dbl.[Instance_Name]
【问题讨论】:
-
您是在更新表格还是在选择中执行此操作?
-
你究竟是如何尝试使用这个案例的,你遇到了什么问题?
-
Case 是一个表达式,不像您在编程语言中找到的 switch 语句。它用作检索单个值的决策树。
-
Simone 下面给出了答案......只需将其设置为您想要的“价值”,不要尝试分配任何东西。
-
我尝试了以下两个建议均无济于事。我用实际代码更新了原件。我现在在“AS”处遇到语法错误。顺便说一句,td= 等的原因是这段代码被放入 HTML 表格等中。
标签: sql sql-server tsql case case-statement