I have an Excel file as a source for my data which looks like this:
ColumnName |Value
----------------------------
OrderNumber |PO-000576632
OrderDate |2018-09-16
Delivery |2018-09-22
Currency |USD
TotalValue |8006.34
Seller |SupplierName
GLN |000098 --this value is dynamic
Buyer |CustomerName
GLN |001592 --this value is dynamic
DeliverTo |DeliveryAddress
GLN |5940477481122 --this value is dynamic
Having the information in this structure, the only way to use further this information in SQL is by using PIVOT relational operator. I managed somehow to get to the desired output, but since there are 3 GLN columns name, I could use only the first one in that list. Is there any way to rename those columns before using them in PIVOT?
Statement
SELECT
OrderNumber, OrderDate, Delivery,
Currency, TotalValue, Seller, GLN,
Buyer, DeliverTo
FROM
(
SELECT
value, columnname
FROM MyTable
) MyTable
PIVOT
(
MAX(value)
FOR ColumnName IN( OrderNumber, OrderDate, Delivery,
Currency, TotalValue, Seller, GLN,
Buyer, DeliverTo))
piv
I did some research and find something promising here, but didn't helped me. Any tips would be helpful! Thanks