我有两列WL-Value和RF-Value,如果两者都有任何值,那么我们在第三列“Final”中插入值。如果那些列的值为0或null,那么只需要获取列标题值的列标题文本。
在根据WL-Value和RF-Value的值比较后,我需要查询在“最终”列中插入值。
------------------------------------------------------------------------
ID | WL-Value | RF-Value | Final |
------------------------------------------------------------------------
1 0 243000 RF
2 254365 0 WL
3 2478954' 2874269 RF,WL
4 0 0 Null
5 Null 0 Null
在检查其他两列
后查询“最终”列答案 0 :(得分:1)
试试这个:
update tablename
set [Final] = case when ([WL-Value] = 0 or [WL-Value] is null) and (([RF-Value] <> 0 or [RF-Value] is not null)) then 'RF'
when ([WL-Value] <> 0 or [WL-Value] is not null) and (([RF-Value] = 0 or [RF-Value] is null)) then 'LF'
else 'Null' end
答案 1 :(得分:1)
您可以在CASE
的帮助下使用STUFF
表达式进行格式化:
UPDATE tbl
SET Final = STUFF((
CASE WHEN ISNULL([RF-Value], 0) > 0 THEN ',RF' ELSE '' END +
CASE WHEN ISNULL([WL-Value], 0) > 0 THEN ',WL' ELSE '' END
), 1, 1, '')