嗨,我有一个优惠券系统,它使用一个表(称为“优惠券”)来存储有关可以生成的每种可用优惠券的信息,并使用另一个表(生成的优惠券)来存储有关生成的每个优惠券的信息。我很难比较每个表中的信息。
架构:
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)