2016-04-11 10 views
-2

Meine Tabelle wie folgt aussieht:möchte ich Spaltennamen meiner SQL-Tabelle

id column1 column2 column3 // feilds names 

1 1  0  1 // row 

Hier habe ich die Spaltennamen der Tabelle müssen die 1 in Bezug auf „id“ enthalten.

Ausgang I benötigt:

column1 column3 

(die Daten 1 in bezug auf ID = 1 hat).

+4

Hallo, willkommen zu stapeln overlfow, bitte lesen http://www.stackoverflow.com/help/How-to-ask .. Sie haben erwähnt, C# was ist Ihre Abfrage? Was ist dein Code? Was hast du probiert? – BugFinder

+0

Mögliches Duplikat von [MySQL - Tabelle in andere Tabelle umwandeln] (http://stackoverflow.com/questions/15184381/mysql-turn-table-into-different-table) –

Antwort

0

Sie haben nicht erwähnt, welche DBMS Sie verwenden; das wäre nützlich. Mit PostgreSQL erreichen Sie, dass durch die UNION Konstrukt, das die Ergebnismenge von mehreren SELECT-Anweisungen zu kombinieren, verwendet wird:

SELECT id,column1 FROM "Table1" where id=column1 
UNION 
SELECT id,column2 FROM "Table1" where id=column2 
UNION 
SELECT id,column3 FROM "Table1" where id=column3; 

Dies ist jedoch entfernt Duplikate aus der endgültigen Ergebnismenge. Um auch Duplikate abrufen verwenden, um die UNION ALL constrct:

SELECT id,column1 FROM "Table1" where id=column1 
UNION ALL 
SELECT id,column2 FROM "Table1" where id=column2 
UNION ALL 
SELECT id,column3 FROM "Table1" where id=column3; 

Ein Nachteil bei diesem Ansatz ist, dass Sie so viele select-Anweisungen benötigen, wie es Spalten. Ein zweiter Nachteil besteht darin, dass Ihre endgültige Ergebnismenge die Spaltenbeschriftungen der ersten Auswahlanweisung (d. H. Id, Spalte1 in diesem Beispiel) aufweist.

Verwandte Themen