想知道你们是否可以帮助我,我正在尝试将我的这张表的两行合并为一行。
目前我的数据是这样的
Item Descr Total Proj
Fuse abc 0 Inventory
Fuse - Labor def 19415 Inventory
Jumper ghi 0 Inventory
Jumper - Labor jkl 434.14 Inventory
我希望做的是合并 Desc 列的行。我能够做到,但它还不完全正确,我想获得具有总计值的行,而我使用的当前查询仅获得总值为 0 的行
SELECT
SUBSTRING_INDEX(Item, ' - ', 1) as lineItem,
GROUP_CONCAT(DISTINCT Descr SEPARATOR '\n\n') as description,
Total,
Project
FROM table1
WHERE deleted = 0
AND Proj = "Inventory"
GROUP BY SUBSTRING_INDEX(Item, ' - ', 1)
我试过的查询输出是这样的:
Item Descr Total Proj
Fuse abc 0 Inventory
def
Jumper ghi 0 Inventory
jkl
我希望得到的是这样的输出:
Item Descr Total Proj
Fuse abc 19415 Inventory
def
Jumper ghi 434.14 Inventory
jkl
我应该如何调整我的查询以获得上面的输出?谢谢
最佳答案
只需对总数求和即可使您接近所需的输出:
SELECT
SUBSTRING_INDEX(Item, ' - ', 1) AS lineItem,
GROUP_CONCAT(DISTINCT Descr SEPARATOR '\n\n') AS description,
SUM(Total) AS Total,
Project
FROM table1
WHERE deleted = 0 AND Project = 'Inventory'
GROUP BY
SUBSTRING_INDEX(Item, ' - ', 1),
Project;
请注意,我们还必须按项目分组。
关于mysql - 合并两行mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50457749/