为了账号安全,请及时绑定邮箱和手机立即绑定

我可以更新不插入,具有不同条件的一行的多个值吗?

我可以更新不插入,具有不同条件的一行的多个值吗?

PHP
临摹微笑 2021-11-05 15:40:02
我需要更新我的表document_Format,它有一个名为 的列NumVias,并且该表有一个名为 的行 CodFormatoCategoria 。我所拥有的是:'UPDATE document_Format                SET NumVias = "'.$Campos['NumVias_Vendas'].'"                 WHERE CodFormatoCategoria = "VEND" and CodEmpresa = "'.$CodEmpresa.'" '我需要的是:'UPDATE CodFormatoCategoria                 SET NumVias = "'.$Campos['NumVias_Vendas'].'"                 WHERE CodFormatoCategoria = "VEND",                SET NumVias = "'.$Campos['NumVias_Compras'].'"                 WHERE CodFormatoCategoria = "COMP",                SET NumVias = "'.$Campos['NumVias_Diversos'].'"                 WHERE CodFormatoCategoria = "DIV", and CodEmpresa = "'.$CodEmpresa.'" '如果不运行该功能 3 次,这可能吗?我可以在一个查询中完成吗?
查看完整描述

1 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

您可以使用CASE语句有条件地为列选择一个值。如果任何CASE WHEN语句都没有匹配项,您可以设置一个ELSE语句以保留原始值,因此没有任何变化。

$sql = "UPDATE CodFormatoCategoria 
           SET NumVias = CASE WHEN CodFormatoCategoria = 'VEND' THEN '".$Campos['NumVias_Vendas']."' 
                              WHEN CodFormatoCategoria = 'COMP' THEN '".$Campos['NumVias_Compras']."' 
                              WHEN CodFormatoCategoria = 'DIV' THEN '".$Campos['NumVias_Diversos']."' 
                              ELSE NumVias 
                          END
            WHERE CodEmpresa = '".$CodEmpresa."'";


查看完整回答
反对 回复 2021-11-05
  • 1 回答
  • 0 关注
  • 145 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信