Tengo dos tablas que se ven asísintaxis de MySQL para Unirse Actualizar
tren
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| TrainID | varchar(11) | NO | PRI | NULL | |
| Capacity | int(11) | NO | | 50 | |
+----------+-------------+------+-----+---------+-------+
Reservas
+---------------+-------------+------+-----+---------+----------------+
| 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 | |
+---------------+-------------+------+-----+---------+----------------+
Actualmente, estoy intentando crear una consulta que se incrementará la capacidad en un tren si se cancela una reserva. Sé que tengo que realizar una unión, pero no estoy seguro de cómo hacerlo en una declaración de actualización. Por ejemplo, yo sé cómo llegar a la capacidad de un tren con dado un cierto ReservationId, así:
select Capacity
from Train
Join Reservations on Train.TrainID = Reservations.Train
where ReservationID = "15";
Pero me gustaría construir la consulta que hace esto -
Increment Train.Capacity by ReservationTable.NoSeats given a ReservationID
Si posible, me gustaría saber también cómo Incrementar en una cantidad arbitraria de asientos. Por otro lado, estoy planeando eliminar la reserva luego de realizar el incremento en una transacción Java. ¿El efecto de eliminación afectará la transacción?
¡Gracias por la ayuda!
Bah, puse el 'SET' antes de' JOIN' por error. NB amigos – deed02392