Mám problémy s obalom hlavypoužite pivot (alebo nejaké iné riešenie) len na transponovanie dát. Nemusím sa obávať zhromažďovania akýchkoľvek informácií, doslova len chcem transponovať riadky a stĺpce.
Mám tabuľku, kde každý záznam ukladá odpovede na sériu otázok. Štruktúra vyzerá takto, kde sú všetky otázky áno / nie bity:
(pk)ID, q1, q2, q3, q4, q5....
Chcem si vziať dotaz ako
select ID, q1, q2, q3, q4, q5
from mytable
where myconditions
a transponovať to, aby som sa dostal
ID 1 2 3 4
q1 1 1 0 1
q2 1 0 0 1
q3 0 0 1 1
q4 1 1 1 1
q5 0 0 1 0
odpovede:
1 pre odpoveď č. 1Skúste toto
SELECT *
From
(
select id, col, value
from mytable
unpivot
(
value
for col in (q1, q2, q3, q4, q5)
) unpiv
) src
pivot
(
min(value)
for ID in ([1],[2],[3],[4])
) piv
op:
COL 1 2 3 4
q1 1 1 0 1
q2 1 0 0 1
q3 0 0 1 1
q4 1 1 1 1
q5 0 0 1 0