1

私はこのコードを更新するために持っていますが、更新しないようにDELETEに変更するのはどうですか. これは可能ですか?

update r set r.Status = 'Checked-in' from Reservation r 
inner join GuestInfo g on g.GuestID = r.GuestID 
where g.GuestFName = 'firstname' 
and g.GuestLName = 'lastname' 
and r.RoomNo = '103'
4

3 に答える 3

2

このようなものが動作するはずです:

delete r from Reservation r 
inner join GuestInfo g on g.GuestID = r.GuestID 
where g.GuestFName = 'firstname' 
and g.GuestLName = 'lastname' 
and r.RoomNo = '103'
于 2013-03-19T13:38:25.167 に答える
2
Delete from Reservation
where id in 
(select r.id from Reservation r 
inner join GuestInfo g on g.GuestID = r.GuestID 
where g.GuestFName = 'firstname' 
and g.GuestLName = 'lastname' 
and r.RoomNo = '103')
于 2013-03-19T13:39:06.020 に答える
0

絶対!UPDATEセクションを削除して、キーワードをDELETE次のように変更するだけです。

delete Reservation
from Reservation r 
    inner join GuestInfo g on g.GuestID = r.GuestID 
where g.GuestFName = 'firstname' 
and g.GuestLName = 'lastname' 
and r.RoomNo = '103'

実際、これは非常に一般的です。DELETE条件に基づいてより複雑な処理を行う必要がある場合が多く、多くの場合 SELECT andUPDATEステートメントは非常に簡単DELETE. 実は、私がかつて働いていた場所では、彼らのルールは次のとおりでした。

ステートメントを作成し、SELECTそれがデータを取得している場合は、それを削除しSELECTて変更しますが、その場合のみですDELETE

于 2013-03-19T13:38:45.797 に答える