У меня есть две таблицы в базе данных Mysql.
ПАКЕТЫ:
ID (auto_increment)
CATEGORY (INT)
NAME (VARCHAR)
EXPIRY (VARCHAR)
VISIBLE (TINYINT)
ПРИМЕР:
1 | 1 | Package AAA_1 | INTERVAL 7 DAY | 1
2 | 2 | Package BBB_1 | INTERVAL 1 YEAR | 1
3 | 1 | Packaga AAA_2 | INTERVAL 14 DAY | 1
ПОДПИСКА:
id (auto_increment)
id_user (INT)
id_package (INT) // It points to packages.id
date (DATETIME)
ПРИМЕР:
1 | 1 | 1 | 2012-01-06 00:04:18
Моя проблема заключается в том, что у пользователя sigle может быть больше подписок на тот же пакет (потому что по истечении срока подписки будет новыйподписка и мне нужно отследить всю предыдущую подписку, чтобы знать «историю» каждого пользователя)
Теперь мне нужно создать запрос для извлечения всех пакетов (где packages.visible=1
и ORDER BY packages.category
) и
CHECK
Каково действительное время действия этого пользовательского пакета.
, как вы видите, у меня есть subscriptions.date
(это дата, когда пользователь делает подписку),тогда я должен добавить на эту дату packages.expiry
, чтобы узнать ДАТУ реального истечения срока.Очевидно, я ТОЛЬКО должен добавить subscription.date + package.expiry к подписке LAST , которую пользователь сделал из этого конкретного пакета.
EDIT:
Очевидно, я должен передать этому запросу идентификатор пользователя, которого я хотел бы проверить.