从多对多返回单个记录 table
Returning a single record from many to many table
我有一个 table 结构,如下所示:
用户 => 历史 <= 品牌
Histories table 保留以下列:userId、brandId、points
我有如下查询:
select b.id, sum(h.points),h.brandId
from brands b left join
histories h
on b.id = h.brandid and h.userId = 2866
group by b.id;
此查询 return 是我的品牌,其中 USER 给出了分数并且根本没有给出任何分数..
我也想向 brandId 添加一个过滤器,这样查询就不会 return 包含所有结果,而是一次一个结果,具体取决于发送给查询的 brandId...我如何以及在哪里可以添加一条语句,该语句将 return 我为此查询的单个记录?所以基本上我只需要将 brandId = 传递给 something 语句,让查询保持原样...... :)
例如,如果品牌 ID 是 100
:
select b.id, sum(h.points),h.brandId
from brands b left join
histories h
on b.id = h.brandid and h.userId = 2866
where b.id=100
group by b.id
limit 1;
我有一个 table 结构,如下所示:
用户 => 历史 <= 品牌
Histories table 保留以下列:userId、brandId、points
我有如下查询:
select b.id, sum(h.points),h.brandId
from brands b left join
histories h
on b.id = h.brandid and h.userId = 2866
group by b.id;
此查询 return 是我的品牌,其中 USER 给出了分数并且根本没有给出任何分数..
我也想向 brandId 添加一个过滤器,这样查询就不会 return 包含所有结果,而是一次一个结果,具体取决于发送给查询的 brandId...我如何以及在哪里可以添加一条语句,该语句将 return 我为此查询的单个记录?所以基本上我只需要将 brandId = 传递给 something 语句,让查询保持原样...... :)
例如,如果品牌 ID 是 100
:
select b.id, sum(h.points),h.brandId
from brands b left join
histories h
on b.id = h.brandid and h.userId = 2866
where b.id=100
group by b.id
limit 1;