Avatar billede 2c Nybegynder
27. marts 2009 - 15:23 Der er 3 kommentarer og
1 løsning

Kollonne til rækker

Jeg beklager, men jeg havde alligvel brug for en løsning til dette problem :-)

Hej eksperter,

Jeg har en tabel hvor jeg har 3 kollonner(x,y,z).

Jeg har en række i den tabel.

x:a
y:2
z:1|2|3

Jeg vil godt lave en selct der returnere 3 rækker som ser sådan her ud
a ,  2 , 1
a ,  2 , 2
a ,  2 , 3

Kan det lade sig gøre?
Avatar billede hkb-x Nybegynder
30. marts 2009 - 01:04 #1
Det er ikke helt klart hvad du mener men måske kan du 'snyde' dig frem til det ønskede med:

select x,y,z from tabel group by z

Men jeg er ikke sikker på om det vil virke da jeg ikke ced hvordan group by er implementeret på ms sql. Om ikke andet vil det kun virke for din specielle situation så det er ikke en holdbar løsning.
Avatar billede 2c Nybegynder
30. marts 2009 - 09:05 #2
Det er ikke det jeg vil.

Problemet er, at databasen bruger en kollonne til at holde flere informationer.

Det kunne egentlig godt se ud som om, at databasen var et resultat af en group by, hvor der er group på x og y, og hvor z så er summen af en tekststreng. Med den undtagelse, at der er tilføjet tegnet "|" hver gang strengene er lagt sammen.

Det vil jeg gerne have ungrouped.
Avatar billede teepee Nybegynder
30. marts 2009 - 09:41 #3
Lav en stored procedure som trækker hver eneste værdi ud i en temporær tabel, sammen med deres nøgleværdier (x og y). Lav nu en select join (hvor du joiner både på x og y) mellem den temporære tabel og din ægte tabeller. kan kun lade sig gøre hvis x+y er unikke.
Avatar billede 2c Nybegynder
30. marts 2009 - 14:49 #4
De er ikke unikke :-(

Har løst problemet ved at omgå det på en anden måde.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester