1

我的mysql查询有问题

我有 3 张桌子:

表一:产品

No_produk   Code    Any else field
10          6557    
11          6558    
12          6559    
13          G18X    

表 2:库存

Id_stock    No_produk   Color   Size    Stock
1           10          Black   S       1
2           10          Black   M       2
3           10          Black   L       2
4           10          Black   XL      1
5           11          White   S       1
6           11          White   M       2
7           11          White   L       2
8           11          White   XL      1
9           12          Blue    S       1
10          12          Blue    M       2
11          12          Blue    L       2
12          12          Blue    XL      1
13          13          White   S       1
14          13          White   M       2
15          13          White   L       2
16          13          White   XL      1

表 3:交易

Id_transaction  Id_stock    Qty
1                   2           1
2                   2           1
3                   5           1
4                   3           1
5                   1           1
6                   6           1
7                   4           1
8                   3           1

我只想获取代码,以及表产品中的任何其他字段,其中表中的股票减法(-)总和(数量)在表事务中,其中 stock.id_stock = transaction.id_stock,

并且至少有一行或多行减法结果> 0。

有人可以帮忙吗,我应该做什么查询才能得到呢?

谢谢

4

1 回答 1

0

子查询以获取使用过的股票并加入:-

SELECT a.Code, a.`Any else`
FROM product a
INNER JOIN stock b
ON a.No_produk = b.No_produk
LEFT OUTER JOIN (SELECT Id_stock, SUM(Qty) AS SumQty FROM transaction GROUP BY Id_stock) c
ON b.Id_stock = c.Id_stock
WHERE b.stock - IFNULL(c.SumQty, 0) > 0
于 2013-11-06T11:00:34.463 回答