i have this table named products:
Create Table Products(
  ProductId Int,
  ParentId  Int,
)
Insert Products
Select 2, 3
Union All
Select 1, 2
Union All
Select 3, 4
Union All
Select 4, 5
Union All
Select 6, 5
Union All
Select 8, 7
Union All
Select 10, 9
Union All
Select 12, 11
Union All
Select 13, 6
And then i run this Cte Query:
;WITH CTE AS
(SELECT ProductId AS ROOTID, ParentId AS ProductId
FROM Products
WHERE ProductId=1
UNION ALL
SELECT c.ROOTID, f.ParentId
FROM Products f
INNER JOIN CTE c ON f.ProductId = c.ProductId) 
SELECT ROOTID,  productId  FROM CTE
WHERE ProductId <> 1;
The query give me this:
| ROOTID | ProductId | 
|---|---|
| 1 | 2 | 
| 1 | 3 | 
| 1 | 4 | 
| 1 | 5 | 
But i need to have:
| ROOTID | ProductId | 
|---|---|
| 1 | 2, 3, 4, 5 | 
Or if i call the id 13 i expect to have:
| ROOTID | ProductId | 
|---|---|
| 13 | 6, 5 | 
You can see the code running in the link below: http://sqlfiddle.com/#!18/615c3/77
How i can have my results but not using Cte but converting in MySQL 5 .7
 
    