使用此SELECT语句:
SELECT DISTINCT r.roomId,rt.roomTypeName,rt.roomTypeDesc,rt.roomTypePrice
FROM Room r left join RoomType rt
on r.roomTypeId=rt.roomTypeId
WHERE roomStatus='Online'
AND NOT EXISTS(
SELECT 1 FROM Reservation b WHERE b.roomId = r.roomId
AND ('7/11/2015' BETWEEN b.checkInDate
AND b.checkOutDate OR '8/11/2015' BETWEEN b.checkInDate
AND b.checkOutDate OR ('7/11/2015'<= b.checkInDate AND '8/11/2015' >= b.checkOutDate)))
order by rt.roomTypePrice
Run Code Online (Sandbox Code Playgroud)
我得到了这个结果
如何计算每种房型的可用房间数,以便我可以使用[结果]中的下拉列表来允许用户选择他们想要的数量?(与Agoda.com网站类似.)
我有两个数组:array1和array2.因此,array1将根据内部元素array2进行拆分.例如:
array1["1","2","3","4","5","6"]
array2["2","5"]
Run Code Online (Sandbox Code Playgroud)
我的代码:
var prev = 0;
newArray = [];
for (var ii in array2) {
var index = array1.indexOf(array2[ii]);
if (index != prev) {
newArray.push(array1.slice(prev, index));
prev = index;
}
}
newArray.push(array1.slice(prev));
Run Code Online (Sandbox Code Playgroud)
结果将是:
["1"],["2","3","4"],["5","6"]
Run Code Online (Sandbox Code Playgroud)
但是现在我面临的问题是array1的元素可能没有按顺序排列.例如:["1","5","3","4","2","6"].所以根据我的代码,它将错误地拆分array1,因为array2中的第一个元素是"2",所以它已经将array1拆分为两个["1","5","3","4"],["2","6"].接下来当"5"时,它找不到它.
预期的结果是:["1"],["5","3","4"],["2","6"]
那么如何基于array2拆分array1,无论array1是按升序,降序还是随机顺序.对不起,我的英语不好.希望你们能理解.