В моем Java-коде у меня есть цикл foreach, который выполняет итерацию по списку
foreach(MyObject obj:list){
String status = obj.getStatus();
String is = obj.getId();
// DB call
1. To update Status in Table A
jdbcobj.updtastatus(status,id);
2. Get status from table B
String tableBStatu= jdbcobj.getstatufromtableB(status,id):
obj.setStatus(tableBStatus):
}
Чтобы избежать вызовов в 2 дБ для цикла, я использую внутреннее соединение и пытаюсь добиться того же результата, что и выше
Я использую inner-join и получаю новый набор результатов на основе общего поля. Я хочу обновить набор результатов, но не могу понять, как?
У меня есть две таблицы «A» и «B».
Таблица «A» имеет столбцы id, имя, статусA
Таблица «B» имеет столбцы id, город, statusB
Как уже говорилось в начале, я использую inner-join и мой запрос выглядит следующим образом.
Select A.id A.statusA,B.statusB FROM A INNER JOIN ON B where A.id=B.id
Which gives me result as "id", status from table "A" and status from table "B".
Теперь я хочу использовать результат внутреннего соединения, чтобы обновить столбец statusA из таблицы "A" и установить значение = "DONE"
И хочу использовать значение столбца statusB вjava-объект.
String statusfromColumnB = get statusB col value
и установите в моем java-объекте вот так
myObj.setStatus(statusfromColumnB)
Пример данных
Предложить решение.