首页 > 解决方案 > 我不知道我到底想找到什么

问题描述

不知道如何解决这个问题,但我知道这是可能的,至少我认为是的。我尝试用谷歌搜索各种听起来像是有意义的术语,即“如何将某些东西标记为在 sql 中使用”或“如​​何跟踪客户是否在 sql 中有租用的物品”。我在这里碰壁了,我什至不知道我在寻找什么,也不知道该怎么做。

我有 3 张表,我觉得这个项目(它是一个出租网站)需要用于 MySQL 我有一张rentalcustomer和一张video表。租借表从客户和视频表中获取信息,以查看谁租了物品以及何时到期。

我该如何做到这一点,如果一个客户租用一个视频,另一个客户就不能租用相同的视频?有人可以指出我正确的方向,以便我可以进一步搜索吗?

客户表:

id客户 | 名字 | 姓氏 | 电话号码

视频表:

id视频 | 标题 | 属 | 租金价格

出租表:

id出租 | id客户 | id视频 | 租金日期 | 到期日期 | 归期

我想知道是否可以添加一个可以跟踪视频是否已租用的列?那是一回事吗?

标签: mysqlsql

解决方案


使用租赁表,您可以创建一个查询,该查询将使用租赁的 为您提供所需的信息return_date

例如,如果您想查看所有可供出租的视频的列表,则以下查询将是:

SELECT * FROM video v
WHERE idVideo NOT IN (SELECT idVideo FROM rental r WHERE v.idVideo = r.idVideo AND r.return_date < CAST(NOW() AS DATE))

或者对于那些目前出租的:

SELECT * FROM video v
WHERE idVideo IN (SELECT idVideo FROM rental r WHERE v.idVideo = r.idVideo r.return_date >= CAST(NOW() AS DATE))

推荐阅读