3

私は自分のDBにこれらの構造を持っていました:

Table coupon
coupon_id , code, max_used

Table coupon_history
coupon_history_id, coupon_id, used_date

「coupon_history」で「coupon.max_used」が全履歴以下のクーポンデータを取得できますか? ここで行き詰まります。クーポンコードを取得する必要があります。私を助けてください。

4

4 に答える 4

1

以下で試すことができます:

select IF(count(*)<max_used,'less','more') as T,coupon.* 
          from coupon
 LEFT JOIN  coupon_history ON coupon_history.coupon_id = coupon.coupon_id
  group by coupon_history.coupon_id

各行の「ステータス」をチェックして、それが max_used を超えているかどうかを確認できます。ちょうど別のアプローチ。

SQL フィドル: http://www.sqlfiddle.com/#!2/a5d0d/25

于 2013-07-05T08:02:48.403 に答える
0
select coupon.* from coupon
join 
(
  select coupon_id, count(*) Count_Coupons_History 
     from coupon_history 
  group by coupon_id
) t on (coupon.coupon_id=t.coupon_id) 
       and (coupon.max_used<=t.Count_Coupons_History)
于 2013-07-05T08:15:31.397 に答える