У меня есть такая таблица контракта (посторонние данные удалены):
CREATE TABLE `contracts` (
`id` INT(12),
`serviceid` INT(10),
`mode` CHAR(1),
`months` TINYINT(3),
`dateStart` INT(12),
`dateEnd` INT(12),
PRIMARY KEY (`id`)
)
Где данные могут быть примерно такими:
| id | serviceid | mode | months | dateStart | dateEnd |
| 1 | 111112 | active | 24 | 1319115600 | 1382274000 |
| 1 | 111113 | active | 6 | 1319115600 | 1382274000 |
| 1 | 111114 | active | 12 | 1319115600 | 1382274000 |
Я хотел бы добавить таблицу начислений, основанную на количестве времени, в течение которого пользователь заключил контракт, например:
CREATE TABLE `new_charge` (
`id` INT(10),
`operator` VARCHAR(1),
`contract_length` TINYINT(2),
`amount` DECIMAL(5,2),
PRIMARY KEY (`id`)
)
Где данные могут быть примерно такими:
| id | operator | contract_length | amount |
| 1 | < | 6 | 100 |
| 2 | > | 6 | 50 |
Значение, если срок контракта составляет <6 месяцев, взимать 100 долларов США. Если> 6 месяцев, взимается $ 50.
Хотя моделирование для меня выглядит нормально, я не могу написать запрос, который позволяет мне получить сумму сбора без необходимости писать дополнительный запрос.
Может ли кто-нибудь помочь мне с
- Используя данные таблицы, сгенерируйте один запрос для получения суммы
- Редизайн таблиц, который позволяет мне сгенерировать один запрос для получения суммы
Спасибо