Mam dwie tabele, które wyglądają jak toskładnia MySQL dla Dołącz Aktualizacja
Pociąg
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| TrainID | varchar(11) | NO | PRI | NULL | |
| Capacity | int(11) | NO | | 50 | |
+----------+-------------+------+-----+---------+-------+
Rezerwacje
+---------------+-------------+------+-----+---------+----------------+
| 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 | |
+---------------+-------------+------+-----+---------+----------------+
Obecnie próbuję utworzyć kwerendę, która będzie zwiększamy pojemność pociągu, jeżeli rezerwacja zostanie anulowana. Wiem, że muszę wykonać Join, ale nie jestem pewien, jak to zrobić w oświadczeniu Update. Dla przykładu, wiem jak dostać zdolności pociągu ze względu pewien identyfikator rezerwacji, tak jak poniżej:
select Capacity
from Train
Join Reservations on Train.TrainID = Reservations.Train
where ReservationID = "15";
Ale chciałbym skonstruować kwerendę, która to robi -
Increment Train.Capacity by ReservationTable.NoSeats given a ReservationID
If możliwe, chciałbym też wiedzieć, jak zwiększać o dowolną liczbę miejsc. Na marginesie planuję usunięcie rezerwacji po wykonaniu przyrostu w transakcji Java. Czy usunięcie wpłynie na transakcję?
Dzięki za pomoc!
Bah, przez pomyłkę wstawiłem 'SET' przed" JOIN ". NB ludzie – deed02392