一次查询抽奖活动,活动中奖数量和活动剩余库存,left join了两张它表。分别查询***中奖记录表***中对应活动的中奖人数,选择count函数,一条记录一次中奖;***活动奖品表***中对应活动的奖品剩余库存,选择sum函数,一个活动可以有多个奖品,每个奖品对应不同的库存,将库存相加。
表名打了马赛克,可以参考一下
最开始很快嗷,直接select count中奖人数,sum 奖品库存。以为搞定,实际上数据远远超出。错误
然后单表查询了一下数据,发现对不上,只left join一个表数据不会出错,就猜到是两个子表数据叠加,百度了一下,建议子表查询。
下面语句才是正确的
这是别人的解释,暂时没看懂,可以参考一下