小编Cul*_*tes的帖子

获取租用有库存产品的不可用日期

数据库查询,通常很简单,但有时又很困难。(大脑训练师)

所以我有产品、股票和rentStockOrders。这些产品可以租用几天。这些股票也有一个可用的日期。是否可以租用新产品(库存)取决于该产品已租用的库存。

  • 库存物品不能在可用日期之前租用。
  • rentStockOrder(在订单和库存之间链接)包含预订,因此rentStartDate 和rentEndDate。
  • 查询应检查当所有股票都已出租时哪些日期不可用。
  • 产品可以租用几天,其中不提供开始/结束日期。选择产品,然后使用日期时间选择器选择租赁的开始日期。
  • 整体最大日期提前一年(可以是输入参数),最小日期为今天(或 +2)。

这个想法是用户还没有选择开始日期,在用户能够这样做之前,我想在日期时间选择器中禁用某些日期,因为该产品的租赁期没有可用的库存,因此无法用作开始日期.

放在上下文中:选择了一种产品,用户可以选择指定他想要租用该产品的天数(1 周、2 周或 3 周)。用户选择后,他们必须选择开始日期。与其每次都显示此日期不可用的错误,我宁愿事先禁用开始日期。

由于产品可供租用的情况较多,因此我认为最好从我的数据库中选择不可用的选择日期列表,而不是完整的可用日期列表。因此无法在日期时间选择器中单击不可用的日期。

到目前为止,我发现的大多数示例都包括我没有的开始和结束日期的输入参数,我有一个产品想要租用的天数长度以及在特定时间范围内已经租用了多少股票。

股票

+---------+-----------+-------------------+
| stockId | productId | availableFromDate |
+---------+-----------+-------------------+
|       1 |         1 | 01-01-2016        |
|       2 |         1 | 01-01-2016        |
+---------+-----------+-------------------+
Run Code Online (Sandbox Code Playgroud)

租赁股票订单

+------------------+---------+----------------+----------------+
| rentStockOrderId | stockId | beginRentDate  |  endRentDate   |
+------------------+---------+----------------+----------------+
|                1 |       1 | 15-01-2016     | 14-02-2016     |
|                2 |       2 | 30-01-2016     | 20-02-2016     |
|                3 |       2 | 26-02-2016     | 07-03-2016 …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2012

5
推荐指数
1
解决办法
1208
查看次数

标签 统计

sql-server ×1

sql-server-2012 ×1