2016-04-10 13 views
0

Guten Tag !. Ich möchte wissen, wie ich einen Pivot in SQLite machen kann. Ich habe eine Tabelle mit dieser Struktur:Pivot in SQLite (Konvertieren von Spalten in Zeilen)

IDUR IDPIX 

2345 4567 

2345 4568 

2345 4569 

Ich brauche dies zu erhalten:

IDUR IDPIX1 IDPIX2 IDPIX3 

2345 4567 4568 4569 

Hat mir jemand helfen könnte, einige Tipps, um so zu bekommen, SQLite ??

Vielen Dank im Voraus

Antwort

0

SQLite unterstützt keine row_number() (oder etwas ähnliches), so schwenkt diese herausfordernd ist. Vielleicht reicht group_concat():

select idur, group_concat(IDPIX) as IXPIXes 
from t 
group by idur; 

Das ist einfach. Aber es produziert nicht genau das, wonach du verlangst.

EDIT:

In Postgres, würden Sie bedingte Aggregation verwenden oder crosstab():

select idur, 
     max(case when seqnum = 1 then IDPIX end) as IDPIX_1, 
     max(case when seqnum = 2 then IDPIX end) as IDPIX_2, 
     max(case when seqnum = 3 then IDPIX end) as IDPIX_3 
from (select t.*, row_number() over (partition by idur order by NULL) as seqnum 
     from t 
    ) t 
group by idur; 

In MySQL, der einfachste Weg, Variablen verwendet.

+0

Werte in Feldern sind keine Zeilennummer, 2345, 4567, 4568 und 4569 sind Inhaltszeichenfolgenwerte in jedem Feld. Vielen Dank, bei deiner Antwort. –

+0

Wissen Sie, wie man es macht, mit einem anderen Werkzeug wie mysql oder postgresql ?? –

Verwandte Themen