2

GuestInfoとReservationの2つのテーブルでINNER JOINを使用します

select  RoomNo, DateStart, DateEnd, GuestFName, GuestMName, GuestLName
from GuestInfo inner join Reservation
on GuestInfo.GuestID = Reservation.GuestID

今、そのINNER JOINED TABLEを更新したい

update (select  RoomNo, DateStart, DateEnd, GuestFName, GuestMName, GuestLName
from GuestInfo inner join Reservation
on GuestInfo.GuestID = Reservation.GuestID) set EndDate = '1/20/2014'
where GuestFName = 'JAKE'

しかし、このクエリはエラーです。これは可能ですか?

4

3 に答える 3

4

データベースによっては、これに似たものを使用できるはずです。

SQLサーバー:

update r
set r.DateEnd = '2014-01-20' 
from Reservation r
inner join GuestInfo g
    on g.GuestID = r.GuestID 
where g.GuestFName = 'JAKE'

MySQL:

update Reservation r
inner join GuestInfo g
    on g.GuestID = r.GuestID 
set r.DateEnd = '2014-01-20' 
where g.GuestFName = 'JAKE'
于 2013-02-27T20:14:20.427 に答える
2

次の構文は、どのデータベースでも機能するはずです。

update reservation
    set enddate = '1/20/2014'
    where guestid in (select guestId from guestinfo where guestfname = 'Jake')
于 2013-02-27T20:16:09.173 に答える
0

私が正しく理解していれば、次を使用できます:

update reservation 
set EndDate = '1/20/2014'
where GuestID in (select GuestID
     from GuestInfo inner join Reservation
     on GuestInfo.GuestID = Reservation.GuestID 
     and GuestFName = 'JAKE') 
于 2013-02-27T20:17:35.000 に答える