2017-09-25 1 views
-1

Im Folgenden ist die Tabellenstruktur und unten, die gewünschte Ausgabe ist.Datenschwenkung in SQL mit Spalten von SQL

Drücken Sie bitte Run Code Snippet, um die Tabellenstruktur zu sehen.

<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 protected]</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 protected]</td> 
 
      </tr> 
 
     </table> 
 
     </body> 
 
     </html>

Hallo, ich SQL Server 2016. Erstellen von dynamischen Spalten von "dbo.TransactionDetails.ColumnName" und mit Werten von "dbo.TransactionDetails.ColumnValue" bin mit dem TransactionDetail ist Tabellenname und Spalte "Spaltenname" enthält den Namen der Spalten, die dynamisch erstellt werden sollen, und Werte in diesen Spalten werden aus "ColumnValue" übernommen. Bitte helfen Sie, die gewünschte Ausgabe zu erhalten. wenn es möglich ist, gründlich zu schwenken oder auf andere Weise. Führe mich durch.

Was ich tue, ist das Hinzufügen mehrerer Transaktionsdetailtabelle und erwünschte Ausgabe mit "wo", die als HARDCODING bezeichnet wird. sondern müssen sie durch Schwenken oder jede andere Art und Weise tun

+0

Sie bitte Ihre Frage bearbeiten und alle HTML-Tags entfernen. Ihre Frage sieht wie ein HTML aus, nicht ein Datenbeispiel. – FLICKER

Antwort

0

Versuchen Sie dieses

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 protected]') 



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 

enter image description here

+0

Danke und als Antwort markieren, wenn Sie können ... –