我有一张包含近50万条记录的表。用户可以在此处添加特定记录,在这种情况下,它是优惠券。在添加点时,它具有正的“ 1”值,但是,当使用此优惠券时,它的值为“ -1”。还有一种情况是,如果使用过的优惠券被退回,它将在我的系统中作废,并将其值更改为“ 1”。
这是一个简化的结构:
CouponID CouponVendorID CouponValue CouponQty Action Barcode
1 117 25.00 1 Add 11112
2 117 -25.00 -1 Use 11112
3 117 25.00 1 Void 11112
4 117 17.00 1 Add 33331
5 117 90.00 1 Add 44441
6 117 5.00 1 Add 42424
7 117 -5.00 -1 Use 42424
所以我想做的是找到所有卡(CouponID会这样做),因为我仍然有一个有效的优惠券。
我可以通过查询的总和(couponQty)来获得正确数量的有效优惠券
select 'Avail'= sum(couponQty) from tblA where CouponVendorID = 117
但是,我很难找到详细记录,向我显示COUNT个有效优惠券中实际上包含了哪些CouponID。有想法吗?
所需的最终结果:
CouponID CouponVendorID CouponValue CouponQty Action Barcode
1 117 25.00 1 Add 11112
4 117 17.00 1 Add 33331
5 117 90.00 1 Add 44441
已添加CouponID = 1,然后使用,然后无效,因此它仍然有效。 CouponID = 4仅被添加,从未使用过,与CouponID = 5相同。
答案 0 :(得分:0)
这就是我想出的办法。
char parenthese[n];