Хотелось бы сохранить идентификатор, но перенести каждый столбец продукта в 1 столбец продуктов. Из

ID      Product 1   Product 2   Product 3
1111    Apple       Cherry      Peach
2222                            Apple
3333    Chery       Cherry  

Чтобы

ID      Products        
1111    Apple       
1111    Cherry      
1111    Peach       
2222            
2222            
2222    Apple       
3333    Chery       
3333    Cherry      
3333
-1
07_stang 15 Авг 2019 в 17:11

2 ответа

Лучший ответ

Используйте запрос union :

Select ID, [Product 1] As Products
From YourTable
Union All
Select ID, [Product 2] As Products
From YourTable
Union All
Select ID, [Product 3] As Products
From YourTable
Order By ID, Products

0
Gustav 15 Авг 2019 в 14:25

С UNION ALL и новым столбцом для каждого запроса, чтобы получить правильный порядок:

select t.ID, t.Products 
from (
  select 1 AS col, ID, product1 AS Products  from tablename
  union all
  select 2, ID, product2 from tablename
  union all
  select 3, ID, product3 from tablename
) AS t
ORDER BY t.ID, t.col

Полученные результаты:

ID      Products
1111    Apple
1111    Cherry
1111    Peach
2222    
2222    
2222    Apple
3333    Cherry
3333    Cherry
3333    
0
forpas 15 Авг 2019 в 14:36