Как создать расчет в MySQL между датой и ценой - PullRequest
0 голосов
/ 19 октября 2018

Я хочу рассчитать дату, чтобы подсчитать дни и рассчитать с ценой или пользовательской ценой в MySQL.

Это таблица бронирования

CREATE TABLE tbl_booking(

booking_id int(11) NOT NULL AUTO_INCREMENT,
user_id int(11),
comp_id int(11),
register_number varchar(100),
booking_status int(11),
pick_date date,
drop_date date,)

Это таблица транспортного средства

CREATE TABLE tbl_vehicle(
register_number varchar(100) NOT null,
vehicle_model varchar(255), 
vehicle_type varchar(255),
vehicle_price varchar(10));

Итак, вот так:

totalprice = (pick_date - drop_date) * vehicle_price

Ответы [ 3 ]

0 голосов
/ 19 октября 2018

Вы можете преобразовать данные поля даты в дни, затем вычесть их и умножить на цену.Обратите внимание, что синтаксис может различаться в разных реализациях SQL.При правильном синтаксисе MySQL это будет:

SELECT (TO_DAYS(drop_date) - TO_DAYS(pick_date)) * price FROM tbl_booking;

Также обратите внимание, что в соответствии с вашим кодом tbl_booking не содержит поле цены, поэтому вам, вероятно, также понадобится объединиться с другой таблицей.

0 голосов
/ 19 октября 2018

Соедините две таблицы в общем столбце, который выглядит как register_number, затем используйте datediff, чтобы рассчитать разницу в днях между двумя датами, и умножьте ее на цену, чтобы получить общую цену для каждого бронирования:

select 
  b.*, 
  datediff(b.drop_date, b.pick_date) * v.price as total_price
from tbl_booking b
inner join tbl_vehicle v on
  b.register_number = v.register_number

Помните, что вы должны вычесть более позднюю дату из более ранней (выпадение - выбор) вместо (выборка - выпадение), поскольку это даст вам отрицательное число.

0 голосов
/ 19 октября 2018

Используйте ниже:

DATEDIFF(pick_date , drop_date) * price

DATEDIFF даст вам разный день между двумя датами.

SELECT DATEDIFF("2017-06-25", "2017-06-15");  

Вывод будет: 10

Поскольку ваша цена находится в другой таблице, надеюсь, вы сможете присоединиться и рассчитать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...