MySQL запрос, который объединяет две таблицы и два столбца в одной из таблиц - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь написать запрос SQL, который объединяет две таблицы и два столбца в одной из таблиц. Итак, у меня есть две таблицы

Таблица: Items

ID          Material           Shape

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

Таблица: 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

Может ли кто-нибудь направить меня в правильном направлении?

Ответы [ 2 ]

0 голосов
/ 10 апреля 2019

Запрос

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 

Вывод

enter image description here

0 голосов
/ 10 апреля 2019

Я думаю, что это просто join и group 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;
...