transponeren in sql ??

Status
Niet open voor verdere reacties.

tdksql

Nieuwe gebruiker
Lid geworden
2 dec 2010
Berichten
3
Ik heb een simpele tabel (genaamd TEST) met de volgende inhoud*:

1 2 3 4 5 6 7
a b c d e f g

Dit moet worden

1 a
2 b
3 c
4 d
5 e
6 f
7 g

Met transponeren kan dit in Excel makkelijk, maar in SQL kom ik er niet uit. Ik heb op fora naar UNPIVOT of naar CONCAT, maar dit is allemaal te complex. Heeft er iemand een simpele oplossing?

* Waarden in tabel zijn natuurlijk anders, maar het gaat om het principe.
 
Volgensmij is dit iets dat je beter in PHP kunt doen, ik kan in elk geval zo niks vinden behalve PIVOT maar dan moet je vantevoren de values in de tabel weten.

Ik zie ook niet heel erg in waarom je dit in SQL zou willen doen eigenlijk?
 
Ik heb geen idee wat php is. Ik gebruik nu sql, waar ik voorheen altijd excel moest gebruiken. Nooit een cursus gehad, ik probeer het op eigen kracht en met de helpfunctie en forums.

In de tabel waar ik de resultaten wil laten zien komt een veld met de waarden 1-9 voor. Deze waarden corresponderen met een veld in een andere tabel (een hele grote, met nog veel meer velden) maar die staan dus per kolom gesorteerd.

1 2 3 enz
a b c

Mijn gedachte was om een hulptabel te maken waarin ik transponeer (van kolommen rijen maak) om dan direct te kunnen linken.

De values heb ik dan toch? Namelijk a, b, c enz. Welke informatie is er nog nodig om mij te kunnen helpen?
 
Ik heb nog nooit met PIVOT gewerkt dus ik kan je er zo niet mee helpen, maar SQL is een data opslag en bewerkingstaal, niet echt een displaytaal, vandaar dat dingen als "query resultaat mooier opmaken" er niet echt inzitten... het kan wel, maar ideaal is het niet.

Hoe wil je deze data gaan tonen dan? Wil je gewoon een print van de query resultaten hebben? Ik ben eigenlijk vooral gewend dat de database aangesloten is op een applicatie van het een of ander die de data ophaalt en daarna netjes opmaakt en weergeeft, en die dit soort bewerkingen dan over zou nemen.
 
Toch bedankt!
Ik heb zelf een andere oplossing gevonden. Uiteindelijk heb ik een ander veld misbruikt waardoor ik met simpele UNIONs het kon oplossen.

SELECT REPLACE(sel_verzorg_13, 'test', 1) AS id, AanbStatus_1 AS status
FROM dbo.SETUP_QUEUE
UNION
SELECT REPLACE(sel_verzorg_13, 'test', 2) AS id, AanbStatus_2 AS status
FROM dbo.SETUP_QUEUE

enz...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan