【问题标题】:Returning a single record from many to many table从多对多表返回单个记录
【发布时间】:2016-06-10 12:52:25
【问题描述】:

我有一个如下表结构:

用户 => 历史

历史记录表保留以下列: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;

此查询返回给我的品牌是 USER 得分但根本没有得分..

我还想为brandId添加一个过滤器,这样查询就不会返回所有结果,而是一次返回一个结果,具体取决于发送给查询的brandId...我该怎么做以及在哪里可以添加一条语句,该语句将为此查询返回一条记录?所以基本上我只需要将 brandId = 传递给某条语句,将查询保留为现在的状态...... :)

【问题讨论】:

    标签: php mysql zend-framework zend-framework2


    【解决方案1】:

    例如,如果品牌 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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-14
      • 1970-01-01
      相关资源
      最近更新 更多