C# C和MySQL表被指定两次,都作为“更新”的目标
这是我的SQL查询C# C和MySQL表被指定两次,都作为“更新”的目标,c#,mysql,C#,Mysql,这是我的SQL查询 UPDATE Nomina SET utilidadSemana = (SELECT SUM(totalIngresosXSemana - totalGastosXSemana) FROM Nomina WHERE fechaInicio >= @fechaInicial AND fechaFin <= @fechaFinal) WHERE fechaInicio >= @fech
UPDATE Nomina
SET utilidadSemana =
(SELECT SUM(totalIngresosXSemana - totalGastosXSemana)
FROM Nomina
WHERE fechaInicio >= @fechaInicial
AND fechaFin <= @fechaFinal)
WHERE
fechaInicio >= @fechaInicial
AND fechaFin <= @fechaFinal;
日期是常量,因此可以使用交叉联接:
UPDATE Nomina n CROSS JOIN
(SELECT SUM(totalIngresosXSemana - totalGastosXSemana) as newval
FROM Nomina
WHERE fechaInicio >= @fechaInicial AND
fechaFin <= @fechaFinal
) nn
SET n.utilidadSemana = nn.newval
WHERE fechaInicio >= @fechaInicial AND
fechaFin <= @fechaFinal;