Извлечение списка внешнего ключа в одном выражении MySql - PullRequest
0 голосов
/ 21 апреля 2019

Я пытаюсь получить все единицы, связанные с продуктом, в одном запросе

Буду признателен за любую помощь


Table Product 

ID  Product_Name
1    Tomato 
2    Banana
3    Sugar
4    Potatto 

Table Units 

ID ProductID Quantity Unit
1     3         1      KG
2     3         2      KG
3     3         3      KG
4     3         5      KG

Expected Result 

 ID 1, Product_Name Sugar, [Quantity 1 Unit KG] [Quantity 2 Unit KG] [Quantity 3 Unit KG] [Quantity 5 Unit KG]

1 Ответ

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

После объединения Products и Units вы можете group результат by столбцы продукта, а затем с помощью агрегатной функции GROUP_CONCAT получить требуемый список единиц для продукта:

SELECT p.ID, p.Product_Name, GROUP_CONCAT(CONCAT('[Quantity:', u.Quantity, '  Unit:',u.Unit,']')) as UnitList
FROM Units u JOIN Product p
ON p.ID = u.ProductId
WHERE p.ID = 3 // or any other product id
GROUP BY p.ID, p.Product_Name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...