如何在mssql中循环表列并创建条件insert语句

如何在mssql中循环表列并创建条件insert语句,sql,sql-server,database,Sql,Sql Server,Database,我想在CustomerDetails表中循环CustomerType列。然后使用CustomerType='CorporateCustomer'的条件将IsCorporateCustomer列更新为1,否则将其他列更新为0 这就是我所做的,但它只执行第一条语句,并向所有IsCorporateCustomer列添加了1 我怎样才能解决这个问题? 谢谢 您可以使用case语句,因此您上面的整个语句将与下面的查询一样简单: UPDATE CustomerDetails set IsCorporate

我想在CustomerDetails表中循环CustomerType列。然后使用CustomerType='CorporateCustomer'的条件将IsCorporateCustomer列更新为1,否则将其他列更新为0

这就是我所做的,但它只执行第一条语句,并向所有IsCorporateCustomer列添加了1

我怎样才能解决这个问题? 谢谢


您可以使用case语句,因此您上面的整个语句将与下面的查询一样简单:

UPDATE CustomerDetails 
set IsCorporateCustomer = case when CustomerType =  'CorporateCustomer' then 1 else 0 end;

您可以使用case语句,因此您上面的整个语句将与下面的查询一样简单:

UPDATE CustomerDetails 
set IsCorporateCustomer = case when CustomerType =  'CorporateCustomer' then 1 else 0 end;

为什么不更新CustomerDetails集IsCorporateCustomer=1,其中CustomerType='CorporateCustomer'请提供示例数据和所需结果。我认为@Sergey建议也可以。为什么不更新CustomerDetails集IsCorporateCustomer=1,其中CustomerType='CorporateCustomer'请提供示例数据和所需结果。我认为@Sergey这个建议也会奏效