0

これがばかげた質問である場合は申し訳ありませんが、ホテルのシステムデータベース用に「Rooms」テーブルと「Guests」テーブルの2つのテーブルがあります。

Roomsテーブルには、その部屋の番号(主キー)のroom_number列があります。ゲストテーブルには、ゲストが滞在している部屋番号(外部キー)のroom_number列があります。

ゲストが宿泊していない部屋の部屋番号のみを返すクエリが必要です。

現時点で私はこれを持っています:

SELECT Rooms.room_number, COUNT(Guests.guest_id) AS occupant_count 
From Rooms,Guests 
WHERE (Rooms.room_number = Guests.room_number)

これにより、すべての乗員数が返されます。ゲストがいない部屋の部屋番号のみを返すようにするにはどうすればよいですか?

助けてくれてありがとう!

4

2 に答える 2

1

2つのテーブル間で外部結合をAND Guests.room_number is null実行し、クエリの最後に追加します。

于 2013-03-17T21:37:34.987 に答える
1

それはばかげているというよりは些細なことです。

SELECT Rooms.room_number 
From Rooms 
WHERE Rooms.room_number not in ( select Guests.room_number 
                                 from Guests)
于 2013-03-17T21:38:38.243 に答える