有A和B两个表,A表中有商家a,b,c,他们在A表中的id分别为1,2,3。 A表中有max字段,
表示abc三家商户的最大会员数量。B表中有abc三家商户的id字段以及他们的会员id字段。我现在想要获得abc三家商户在B表中的会员数量,也就是1,2,3,在B表中的商户id字段出现的次数。用该数量与对应的max字段值相比较,获得所有会员数量未达到max的商户。
我获得了各自的数量后却不知道该怎么与对应的max相比较。

php 数据库获取数据的问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 小草光明 2018-10-16 07:46关注
table A
id merchant max
1 A 100
2 B 200
3 C 300table B
id merchant_id customer_id
1 1 1
2 1 2
3 2 1
4 2 2$data = Db::table("A")
->alias("a")
->field("a.id, a.merchant, a.max, count(b.id) as max2")
->join("B b", "b.merchant_id=a.id", "left")
->select();for($data as $key=>$value)
{
if($value['max'] == $value['max2'])
{
echo $value['merchant']." ok";
}else
{
echo $value['merchant']." faild;
}
}本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报