查询必需的库存

时间:2019-08-27 11:49:51

标签: sql sql-server tsql

我有一张桌子,上面有一些可用客房的清单。

酒店ID 房间ID 库存日期 数量
600的2019年12月1日10
600的2019年12月12日10
600的2019年12月3日10
600的2019年12月12日10
600个月12个月2019年12月15日
600个月12个月2019年12月15日
600的2019年12月7日10
600 12 2019年12月18日20
600的12 2019年12月9日20

我需要以下结果集

酒店ID 房间ID 开始日期 结束日期 数量
600 12 2019 -01 2019-01-01 2019 2019-01-04 10 10
600 12 12 2019 2019-01-05 2019 2019-01-06 15 15
600 12 2019 -07 2019-01-07 -01 2019-01-07 10 10
600 12 2019 -01 2019-01-08 2019 2019-01-09 20 20

我不确定从哪里开始。请指导。谢谢。

3 个答案:

答案 0 :(得分:0)

您可以在下面尝试-

select HotelID,RoomID,min(InventoryDate),max(InventoryDate),Qty
from tablename
group by HotelID,RoomID,Qty

答案 1 :(得分:0)

您可以使用聚合函数来实现此目的,在您的上下文中MIN()和MAX()将满足要求。

SELECT HotelID,RoomID,MIN(InventoryDate) as StartDate,MAX(InventoryDate) as EndDate,MAX(Qty)as Qty
FROM Tablename
GROUP BY HotelID,RoomID

答案 2 :(得分:0)

您可以使用以下查询获取所需的输出:

SELECT hotelid, roomid, Min(inventorydate) AS StartDate, Max(inventorydate) AS EndDate, qty FROM inventory_table GROUP BY hotelid, roomid, qty