2017-10-21 2 views
0

Ich habe 2 Tabellen:Yii2 bekommen Summe einer Spalte

  1. warehouse ['id','warehouse_name'] und
  2. products ['id','product_name','qty','warehouse_id']

, die durch warehouse_id verbunden sind.

enter image description here

enter image description here

enter image description here

brauche ich groupBy product_name und Summe Spalte Menge und Lager zum Beispiel:

Product 2 14 WH1,WH2

Antwort

0

Ihre Beispielausgabedaten Blick in, i Denk an deine Ar e suchen SUM und GROUP_CONCAT

SELECT p.product_name, 
     sum(p.qty) AS qty, 
     GROUP_CONCAT(w.warehouse_name 
        ORDER BY w.warehouse_name ASC SEPARATOR ',') AS warehouse 
FROM product p 
INNER JOIN warehouse w ON p.warehouse_id = w.id 
GROUP BY p.product_name; 

Ergebnis:

product_name qty  warehouse 
------------ ---  --------- 
product 2  14  WH1,WH2 
product 3  2  WH1 
product 5  4  WH3 

DEMO

+0

ok, seine Arbeit dank Mann !!!!! – Decard