MySQL 合并两个表和其中一个表中的两列的查询

MySQL query that combines two tables and two columns in one of the tables

我正在尝试编写一个 SQL 查询,它结合了两个表和其中一个表中的两列。所以,我有两个表

Table: Items

ID          Material           Shape

1           glass              jar
2           plastic            bottle
3           cardboard          box
4           glass              bottle

Table: Diary

ItemID      UserID      Quantity

2           1           1
1           1           3
3           1           2
2           1           5
4           1           1

预期输出,其中 UserID = 1(按 combined quantity 排序):

Combined column values       Combined quantity

plastic bottle               6
glass jar                    3
cardboard box                2
glass bottle                 1

有人能告诉我正确的方法吗?

我认为这只是 joingroup by:

select concat_ws(' ', i.material, i.shape) as combined,
       sum(d.quantity) as combined_quantity
from items i left join
     diary d
     on d.itemId = i.id
group by combined
order by combined_quantity desc;

查询

select Material+SPACE(1)+ SHAPE [Combined column values ], 
SUM(QUANTITY) [Combined quantity]
from Items 
left join diary on Items.itemiD = diary.itemID  
GROUP BY ITEMS.itemiD, Material, SHAPE 

输出