Привет! У меня есть система купонов, которая использует одну таблицу (называемую «купонами») для хранения информации о каждом типе доступных купонов, которую можно сгенерировать, и другую таблицу (генерируемые купоны) для хранения информации о каждом сгенерированном купоне.Мне трудно сравнивать информацию в каждой таблице.
Схемы:
table: coupons
+----+------+--------------------+---------------+
| id| owner| expiration_date| 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|
+----+----------+------+--------------------+------+--------+
Я пытаюсь выполнить запросы для отображения купона с точки зрения пользователя (т.е. все запросы будут иметь where user_id='$userid'
. Я не могу понять, как отобразить все купоны, где limit_per_user не был достигнут ... вот что у меня получилось, что не работает:
select *
from coupons
where owner=34
and (count(SELECT * from generatedcoupons where user_id=233 and coupon_id=coupons.id)<limit_per_user)