Выберите из таблицы A и задайте В таблице B значение , для которого не существует Пользовательского JPA-запроса

#mysql #spring-boot #jpa

Вопрос:

Я хочу обновить значение таблицы вывода средств, когда пользователь вносит материал. Количество внесенного материала вычитается из последнего времени, сколько материалов снял пользователь. И сохраните оставшийся материал в столбце ожидание таблицы возврата материалов. При вызове API обновления ожидающее значение таблицы materialReturn устанавливается в столбце «Часть» таблицы materialReturn.введите описание изображения здесь

Материал с чертежной таблицей введите описание изображения здесь

Вот мой запрос

 package com.nilmani.workmanagement.repository


import com.nilmani.workmanagement.entity.MaterialReturn
import org.springframework.data.jpa.repository.JpaRepository
import org.springframework.data.jpa.repository.Modifying
import org.springframework.data.jpa.repository.Query
import org.springframework.web.bind.annotation.RequestParam
import javax.transaction.Transactional

interface MaterialReturnRepository : JpaRepository<MaterialReturn?, Long?> {

    /**update the material-withdraw table*/
    @Query("select m.pending from MaterialReturn as m and update WithdrwMaterial where m.depositId=:depositId")
     fun udpdateWithdrawMaterial(@RequestParam("depositId")depositId:Long): Long

}
 

Но этот запрос не работает

Ответ №1:

Запрос на обновление должен выглядеть следующим образом:

ОБНОВИТЕ столбец Withdraw_Material SET = (ВЫБЕРИТЕ mr.в ожидании ИЗ Material_Return mr, ГДЕ mr.depositId = depositId), ГДЕ предложение (кажется, я не понимаю предложение, которое вы пытаетесь использовать)