すべての要求レコードは、Requestテーブル内に存在します。追加または削除されたテーブルは、予約済みまたは拒否済みのテーブルに属しているため、フィルタリングできます。 roomsとvwRoomRequestはこのクエリには影響しません。 私は「拒否されました」というレコードを返そうとしているため、リクエストテーブルと拒否テーブルの両方に存在し、これらの2つのテーブルの主キーは同じになります。PHPとMYSQLデータベースを使用して、別のテーブルにない結果を検索しますか?
実際のクエリでは、Request.RequestIDによるグループを使用しています。このクエリは、実際にはリクエストテーブルに17行しかない場合に2488の結果を返すためです。
(上記以外の)主な問題は、クエリのこの行が存在しなかったかのように、このクエリは同じ結果を返すことである。 AND Request.RequestID <> BookingID AND Request.RequestID <>不承認.RequestID。
SELECT *
FROM Request , Rooms, Booking, Declined, vwRoomRequest
WHERE Request.RoomID = Rooms.RoomID
AND Rooms.RoomID = vwRoomRequest.RoomID
AND Request.RequestID<>BookingID
AND Request.RequestID<>Declined.RequestID