2016-02-19 41 views
0

好的解决方案和减法,可以实现查询使用这个,但我有一个问题,以禁止我减去负数,例如4-6 = -2我想要做的就是只是我reste,直到它达到0和我重置计数器块,直到方法我能做到,如果你使用了同样的问题,这是我的查询使用来实现减法查询错误,同时减去2个数据库表

UPDATE Equipo c SET c.horasmotor= (CAST(c.horasmotor AS INT) -" + historial.getHorasTrabajadas() + ") WHERE c.id=" + expediente.getId() 
+0

如果你会开始使用句子,该怎么办? – peterh

回答

0

尝试编写查询这样的道歉:

update Equipo 
    JOIN Historial on 
    Equipo.id=Historial.id 
set Equipo.horasmotor=(Equipo.horasmotor - Historial.horasTrabajadas) 

试试这个:

Update Equipo 
    JOIN Historial 
    where Historial.id=1 
    set Equipo.horasmotor= (CAST(Equipo.horasmotor AS INT) - CAST(Historial.horasTrabajadas AS INT)) 
+0

UPDATE子句中缺少SET标识符。 必须指定等号。 路径表达式必须以标识变量开始。 该表达式无效,这意味着它不遵循JPQL语法。 查询包含格式不正确的结尾。 状态字段无法解析。此错误执行查询 – alexander

+0

无工作显示错误编写 – alexander

+0

哪些错误您有@alexander – Abdelhak