如果PaytypeID = 111则表示交易是通过优惠券支付的(忽略其他PayTypes);所有其他情况表明 - 没有优惠券
SELECT *
FROM Payment
TransID SalesDate Amount PayTypeID
222222 2014-08-29 10.00 111
222222 2014-08-29 15.00 222
222222 2014-08-29 15.00 333
555555 2014-09-29 10.00 100
555555 2014-09-29 10.00 101
666666 2014-09-29 10.00 105
666666 2014-09-29 10.00 106
777777 2014-10-29 10.00 107
想要输出如下..
TransID SalesDate Amount CouponUsed
222222 2014-08-29 40.00 1
555555 2014-09-29 20.00 0
666666 2014-09-29 20.00 0
777777 2014-10-29 10.00 0
答案 0 :(得分:0)
在您的select语句中尝试以下内容
Select TransID, SalesDate, sum(Amount), max(case when PayTypeID=111 then 1 else 0 end) CouponUsed
from Payment
group by TransID, SalesDate
编辑:如果您想按照TransID进行汇总和分组:
sleep `10`
答案 1 :(得分:0)
不确定您想要哪些列,但您可以使用*,....如此
Select * , case when PayTypeID = 111 then 'Coupon Used' else 'no coupon' end as CouponUsed
from Payment
你可以从那里稍微调整一下,但是什么时候可以去。