Sql 如何查询“如果此列包含“this”,则替换另一列中的文本”

Sql 如何查询“如果此列包含“this”,则替换另一列中的文本”,sql,Sql,在一个基于“选择”的查询中,我想包含一个表达式,该表达式表示:如果列B='Call',则将列a中的所有内容替换为'Call' 我尝试了When-Then表达式: Column A = (CASE column a When 'Business' Then 'Call' 但当B列没有“Call”时,这将改变A列中的每个业务条目 我想我需要一个If语句,但不知道如何跨列使用它 这是我的简化查询: Select * From [crimes] Where date_rept between

在一个基于“选择”的查询中,我想包含一个表达式,该表达式表示:如果列B='Call',则将列a中的所有内容替换为'Call'

我尝试了When-Then表达式:

 Column A = (CASE column a
 When 'Business' Then 'Call'
但当B列没有“Call”时,这将改变A列中的每个业务条目

我想我需要一个If语句,但不知道如何跨列使用它

这是我的简化查询:

 Select *
 From [crimes]
 Where date_rept between '1/1/2019' and '1/31/2019'
 And column B in ('Call', 'Case')
这就是我所拥有的:

 COLUMN A          COLUMN B
 COLUMN A          COLUMN B
这就是我想要的:

我希望B列中的每个“调用”都被复制到A列中

请原谅我缺乏知识。我不希望编辑实际数据表,只希望根据我的参数查看数据

提前谢谢

这就是你想要的吗

update t
    set a = b
    where b = 'Call';
您的case表达式也可以工作,您刚刚错过了else子句和条件columnB='Call':


您可以从case语句中引用其他列:

select
  case when B = 'Call' then 'Call' else A end as A,
  B
from [Crimes]
Where 
  date_rept between '1/1/2019' and '1/31/2019'
  and B in ('Call', 'Case')
这将有助于:

Select case when columnB='Call' the 'Call' else columnA end
From [crimes]
Where date_rept between '1/1/2019' and '1/31/2019'
And column B in ('Call', 'Case')

您需要这样一个else语句:

当columnb='Call'然后'Call'时的情况,否则columna以列A结束 当然,您必须根据您没有提到的SQL拨号行为调整语法,但这就是逻辑。

希望这能起作用

选择c.B='Call'时的case,然后选择'Call',否则c.A结束,c.B 从犯罪到犯罪 其中日期为“2019年1月1日”至“2019年1月31日” 在“Call”、“Case”中为B 这可能行得通

SELECT CASE WHEN COLUMN_B= 'Call' THEN 'CALL' ELSE COLUMN_A END AS COLUMN_A,
COLUMN_B
FROM CRIMES
WHERE DATE_REPT BETWEEN '1/1/2019' AND '1/31/2019'
AND COLUMN_B IN ('Call', 'Case')

不幸的是,我不能使用Update语句,因为我不能操作表中的数据。我只能查询数据。非常感谢你们!“case”的表达是一种尝试!你可以根据上面的评论标记任何对你有帮助的问题!!!如果这有助于社区应该有更多的正确答案!!!
select
  case when B = 'Call' then 'Call' else A end as A,
  B
from [Crimes]
Where 
  date_rept between '1/1/2019' and '1/31/2019'
  and B in ('Call', 'Case')
Select case when columnB='Call' the 'Call' else columnA end
From [crimes]
Where date_rept between '1/1/2019' and '1/31/2019'
And column B in ('Call', 'Case')
SELECT CASE WHEN COLUMN_B= 'Call' THEN 'CALL' ELSE COLUMN_A END AS COLUMN_A,
COLUMN_B
FROM CRIMES
WHERE DATE_REPT BETWEEN '1/1/2019' AND '1/31/2019'
AND COLUMN_B IN ('Call', 'Case')