我有3个表(注意,这可能不是最好的SQL数据库设计)SQL查询表之间的3
Room: TypeName, RoomNumber
RoomType: TypeName, ...
Reservation: StartDate, EndDate, TypeName, RoomNumber
我的输入参数为startdate
和enddate
。我想知道可用的不同roomtypes
。从我的理解的解决方案是这样的:AvailableRoomTypes = AllRoomTypes - UnavailableRoomTypes
显然AllRoomTypes
可以发现:SELECT DISTINCT(TypeName) FROM Room;
,我知道怎么去不可的房间,但不是不可用roomtypes
。我也不知道如何从另一套中减去一套。我可以得到一组所有rooms+roomtypes
和另一组不可用rooms+roomtypes
,但我如何加入它们使得它是A-B
?也许某种函数?
我想我的输出参数是SELECT * FROM RoomType (for the appropriate roomtypes)
。
什么数据库,你可以更明显什么是表和它的列是什么? –
这是我有: SELECT r.roomtype,s.servicename 从预订[R JOIN BILLING B关于b.reservationid = r.reservationid 和b.paid = 1 JOIN Customer_SERVICE S于s.customerserviceid = b.customerserviceid ; 我需要为每个不同的reservation.roomtype和customer_service.servicename计算billing.total。所以我想要: 选择SUM(b.total)作为保留... 加入 为服务选择SUM(b.total)... ? – Stuart