By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE table_a
(`cod_item` varchar(5), `Order` int)
;
INSERT INTO table_a
(`cod_item`, `Order`)
VALUES
('1,2,3', 1),
('2,4,5', 2),
('2', 3),
('5,6,7', 1)
;
CREATE TABLE table_b
(`cod_item` int, `Name` varchar(10))
;
INSERT INTO table_b
(`cod_item`, `Name`)
VALUES
(1, 'prod_1'),
(2, 'prod_2'),
(3, 'prod_3'),
(4, 'prod_4')
;
SELECT `Order`,GROUP_CONCAT(CONCAT(b.`cod_item` ,' - ', b.`Name`) ORDER BY b.`cod_item`)
FROM table_a a LEFT JOIN table_b b ON FIND_IN_SET(b.`cod_item`,a.`cod_item`)
GROUP BY `Order`
Order | GROUP_CONCAT(CONCAT(b.`cod_item` ,' - ', b.`Name`) ORDER BY b.`cod_item`) |
---|---|
1 | 1 - prod_1,2 - prod_2,3 - prod_3 |
2 | 2 - prod_2,4 - prod_4 |
3 | 2 - prod_2 |