[英]Data Pivoting in SQL using columns of SQL
以下是表結構,下面是所需的輸出。
請按運行代碼片段查看表結構。
<html> <body> <strong>Existing Structure</strong> <br> <br> <table style="width:100%"> <tr> <th>VoucherID</th> <th>ColumnName</th> <th>ColumnValue</th> </tr> <tr> <td>10</td> <td>Buyer Name</td> <td>Mr. ABC</td> </tr> <tr> <td>10</td> <td>Buyer Address</td> <td>Vasant Vihar</td> </tr> <tr> <td>10</td> <td>Buyer City</td> <td>New Delhi</td> </tr> <tr> <td>10</td> <td>Buyer Email</td> <td>email@gmail.com</td> </tr> </table> <br> <strong>I want output as follow:-</strong> <br> <br> <table style="width:100%"> <tr> <th>VoucherID</th> <th>Buyer Name</th> <th>BuyerAddress</th> <th>BuyerCity</th> <th>BuyerEmail</th> </tr> <tr> <td>10</td> <td>Mr. ABC</td> <td>Vasant Vihar</td> <td>New Delhi</td> <td>email@gmail.com</td> </tr> </table> </body> </html>
嗨,我正在使用 SQL Server 2016。從“dbo.TransactionDetails.ColumnName”創建動態列並從“dbo.TransactionDetails.ColumnValue”中獲取值,其中 TransactionDetail 是表名,而“ColumnName”列包含要添加的列的名稱動態創建,該列中的值將從“ColumnValue”中獲取。 請幫助獲得所需的輸出。 如果有可能徹底旋轉或任何其他方式。請指導我。
我所做的是添加多個事務詳細信息表並通過使用稱為 HARDCODING 的“where”來獲得所需的輸出。 但需要通過旋轉或任何其他方式來完成
試試這個
create table #Table1
(VoucherID int, ColumnName varchar(100), ColumnValue varchar(255))
insert into #Table1
values (10,'Buyer Name','Mr. ABC')
, (10,'Buyer Address','Vasant Vihar')
, (10,'Buyer City','New Delhi')
, (10,'Buyer Email','email@gmail.com')
select * from #Table1
Select * from
(
Select VoucherID,ColumnName,ColumnValue from #Table1
) as src
pivot
(
MAX(ColumnValue)
FOR ColumnName IN([Buyer Name],[Buyer Address],[Buyer City],[Buyer Email])
)as pvt
--Drop table #Table1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.