Как решить этот вид запроса? - PullRequest
0 голосов
/ 15 января 2012

У меня есть две таблицы в базе данных 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:

Очевидно, я должен передать этому запросу идентификатор пользователя, которого я хотел бы проверить.

1 Ответ

1 голос
/ 15 января 2012

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

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