我需要更新我的表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."'";
- 1 回答
- 0 关注
- 145 浏览
添加回答
举报
0/150
提交
取消