2017-11-11 82 views
-1

我试图从发票数据库中创建一个库存数据库。我的发票数据库看起来像这样:将多行合并为一个 - mysql

invoiceNo | date | supplier | productID | productName | qty 
------------------------------------------------------------------------- 
    I0001  | 9/21 | ABC  |  0001 | yz   | 23 
    I0001  | 9/21 | ABC  |  0023 | xy   | 42 
    I0002  | 9/24 | DEF  |  2106 | pq   | 60 
    I0003  | 9/30 | ABC  |  0023 | xy   | 32 

在股票数据库中,我想合并多行包含相同的产品成一行和总和数量。所以,它看起来是这样的:

productID | productName | stock 
--------------------------------------- 
    0001  | yz   | 23 
    0023  | xy   | 74 
    2106  | pq   | 60 

有没有可能这样做?我一直在四处搜寻,发现CONCATJOIN,但我不确定。

+1

*“我一直在寻找了一圈,发现大约CONCAT或加入,但我不知道这件事。 “* - 你不知道如何;你是否尝试过手册中的任何示例? (和可能的教程)。 –

+0

请仔细阅读并执行[问]并点击搜索“堆栈交换作业”。 – philipxy

回答

0

您想要使用GROUP BY语句。

SELECT productID, productName, sum(qry) 
    FROM [your table] 
GROUP BY productID, productName 
0

这将通过为与同一产品名行工作,并总结它们的数量

SELECT productID ,productName,SUM(qty) AS stock 
FROM name of table 
GROUP BY productName,productID;