【问题标题】:Query with sum and join使用 sum 和 join 查询
【发布时间】:2016-03-22 12:06:35
【问题描述】:

我有 2 个表格,想要得到表格 belegpos 中一列的总和。 使用此查询,它运行良好,当artikel 中只有一行带有模型时。 当有 2 行具有相同的模型时,它需要总和 x2(或 3 行 x3)

select bp.modell,sum(bp.quantity) 
from belegpos as bp 
join artikel on bp.modell=artikel.modell 
where  artikel.status=0 
group by bp.modell ;

【问题讨论】:

    标签: mysql join sum


    【解决方案1】:

    您可以使用EXISTS 代替JOIN

    SELECT modell, SUM(quantity) 
    FROM belegpos AS bp
    WHERE EXISTS (SELECT 1
                  FROM artikel 
                  WHERE bp.modell = artikel.modell AND artikel.status=0)
    GROUP BY bp.modell;
    

    【讨论】:

      【解决方案2】:

      您可以使用带有 distinct 的子查询:

      select bp.modell,sum(bp.quantity) 
      from belegpos as bp 
      join (SELECT distinct a.modell from artikel a where a.status=0) a1
        on bp.modell=a1.modell 
      group by bp.modell ;
      

      【讨论】:

        【解决方案3】:
        select bp.modell,count(bp.quantity) 
        from belegpos as bp 
        join artikel on bp.modell=artikel.modell 
        where  artikel.status=0 
        group by bp.modell ;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-05-23
          • 2015-02-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多