Привет! У меня есть система купонов, которая использует одну таблицу (называемую «купонами») для хранения информации о каждом типе доступных купонов, которую можно сгенерировать, и другую таблицу (генерируемые купоны) для хранения информации о каждом сгенерированном купоне. Мне трудно сравнивать информацию в каждой таблице.
Схемы:
table: coupons
+----+------+--------------------+---------------+
| id| owner| date_expiration| limit_per_user|
| 15| 34| 2011-09-18 00:00:00| 2|
+----+------+--------------------+---------------+
table: generatedcoupons
+----+----------+------+--------------------+------+--------+
| id| coupon_id| owner| date| used| user_id|
| 1| 15| 34| 2011-09-17 00:00:00| false| 233|
+----+----------+------+--------------------+------+--------+
Я пытаюсь выбрать все купоны с истекшим сроком действия для данного пользователя. Это правильно?
select *
from coupons
join generatedcoupons on user_id = 233 and coupon_id=coupons.id
where coupons.owner=34 and (curdate()>date(coupons.date_expiration)