Транспонирование данных столбца в SQL данных строки - PullRequest
0 голосов
/ 20 октября 2019

У меня есть некоторые данные, которые выглядят следующим образом в таблице SQL.

[ID],[SettleDate],[Curr1],[Curr2][Quantity1],[Quantity2],[CashAmount1],[CashAmount2]

У меня проблема, мне нужно создать 2 записи из этих данных (всю информацию из 1 и всю информацию из 2),Пример ниже.

[ID],[SettleDate],[Curr1],[Quantity1],[CashAmount1]
[ID],[SettleDate],[Curr2],[Quantity2],[CashAmount2]

У кого-нибудь есть идеи, как это сделать?

Спасибо

Ответы [ 2 ]

0 голосов
/ 20 октября 2019

Просто еще один вариант. ItemNbr 1/2 только для того, чтобы поддерживать, какой элемент.

 Select A.[ID]
       ,A.[SettleDate]
       ,B.*
  From  YourTable A
  Cross Apply ( values (1,[Curr1],[Quantity1],[CashAmount1])
                      ,(2,[Curr2],[Quantity2],[CashAmount2])
              ) B{ItemNbr,Curr,Quantity,CashAmount)
0 голосов
/ 20 октября 2019

Стандартное (т.е. кросс-СУБД) решение для этого заключается в использовании union:

select ID, SettleDate, Curr1, Quantity1, CashAmount1 from mytable
union all select ID, SettleDate, Curr2, Quantity2, CashAmount2 from mytable

В зависимости от вашей RBDMS, могут быть доступны более точные решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...