У мене є дві таблиці, які виглядають так
Поїзд
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| TrainID | varchar(11) | NO | PRI | NULL | |
| Capacity | int(11) | NO | | 50 | |
+----------+-------------+------+-----+---------+-------+
Бронювання
+---------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+----------------+
| ReservationID | int(11) | NO | PRI | NULL | auto_increment |
| FirstName | varchar(30) | NO | | NULL | |
| LastName | varchar(30) | NO | | NULL | |
| DDate | date | NO | | NULL | |
| NoSeats | int(2) | NO | | NULL | |
| Route | varchar(11) | NO | | NULL | |
| Train | varchar(11) | NO | | NULL | |
+---------------+-------------+------+-----+---------+----------------+
В даний час я намагаюся створити запит, який збільшить пропускну здатність поїзда, якщо бронювання скасовано. Я знаю, що мені потрібно виконати Приєднання, але я не впевнений, як це зробити в заяві Update. Наприклад, я знаю, як отримати пропускну здатність поїзда з певним ідентифікатором Reservation, наприклад так:
select Capacity
from Train
Join Reservations on Train.TrainID = Reservations.Train
where ReservationID = "15";
Але я хотів би створити запит, який робить це -
Increment Train.Capacity by ReservationTable.NoSeats given a ReservationID
Якщо можливо, я хотів би знати також, як збільшити довільну кількість місць. Окрім того, я планую видалити резервування після того, як я виконаю збільшення в транзакції Java. Чи вплине видалення на транзакцію?
Дякую за допомогу!