[英]Can i UPDATE not insert, multiple values for one row with diferente conditions? [duplicate]
我需要更新我的表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次的情况下可以吗? 我可以在一个查询中做到吗?
您可以使用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."'";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.