Tengo estas dos tablas:

Table1: stock_list

Stock_name  Year    Qty Reserve
stock1  2015    1   0
stock1  2016    1   1
stock1  2016    1   0
stock1  2016    1   0
stock2  2015    1   0
stock2  2015    1   0
stock2  2015    1   0
stock2  2016    1   1
stock2  2016    1   1
stock2  2016    1   0

La segunda tabla es: productos

Variant MY  List_Price
stock1  2015    2000
stock1  2016    0
stock2  2015    3000
stock2  2016    NULL
stock3  2016    4000

El resultado que estoy buscando es esta tabla:

Name    Year    Qty Reserved    List_Price
stock1  2016    3   1   0
stock2  2016    3   2   Null

¿Hay alguna manera de llegar a este resultado con una declaración de MySQL?

-1
user2909855 27 ene. 2016 a las 16:24

2 respuestas

La mejor respuesta

Tratar:

    Select S.Stock_Name as Name, S.Year, sum(S.Qty) as Qty, sum(S.Reserved) as Reserve, P.List_Price
    from stock_list S inner join products P
    on S.Stock_name=P.Variant and S.Year=P.MY
    where P.List_Price=0 or P.List_Price is null
    group by S.Stock_Name, S.Year, P.List_Price
0
Haytem BrB 27 ene. 2016 a las 14:06

Prueba esta consulta:

SELECT sl.stock_name,
       sl.year,
       sum(sl.qty) AS qty,
       sl.reserve
FROM stock_list AS sl
JOIN products AS p ON sl.stock_name=p.variant
WHERE p.listprice IS NULL
  OR p.listprice=0
GROUP BY sl.stock_name
0
Pathik Vejani 27 ene. 2016 a las 13:45