Я не знаю точно, что я пытаюсь найти - PullRequest
0 голосов
/ 09 марта 2019

Понятия не имею, как это обойти, но я знаю, что это возможно, по крайней мере, я так думаю.Я пробовал гуглить различные термины, которые звучат так, как будто бы они имели смысл, например, «как пометить что-то, как принято в sql» или «Как отследить, есть ли у арендованного предмета в sql».Я тут как-то врезался в стену, я даже не знаю, как это называется, что я ищу или как это сделать.

У меня есть 3 стола, которые, по моему мнению, необходимы для этого проекта (егосайт аренды) для MySQL у меня есть rental, customer и таблица video.Таблица проката берет информацию от клиента и видео таблицы, чтобы увидеть, кто арендовал предмет и когда он должен.

Как мне сделать так, чтобы, если один клиент арендует видео, другой не мог арендоватьтакое же видео?Может ли кто-нибудь указать мне правильное направление, чтобы я мог продолжить поиск?

Таблица клиентов:

idCustomer |имя_файла |фамилия |номер телефона

Таблица видео:

idVideo |название |роды |rent_price

Арендный стол:

idRental |idCustomer |idVideo |rent_date |due_date |return_date

Мне интересно, возможно ли добавить столбец, который может отслеживать, если видео уже арендовано или нет?Это вещь?

1 Ответ

0 голосов
/ 09 марта 2019

Используя таблицу аренды, вы можете создать запрос, который предоставит вам необходимую информацию, используя 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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...