Avatar billede shy Nybegynder
26. februar 2008 - 08:59 Der er 3 kommentarer og
1 løsning

Hjælp til SELECT

Hej

Jeg har følgende tabel i MSSQL2005:
NAME    VALUE
-------------
P1    1
P1    2
P2    10
P3    100
P2    20
P1    5
P3    200
P3    304
P2    32


Vil gerne lave et SELECT så jeg får dette resultat:
P1    P2    P3
-------------------
1    10    100
2    20    200
5    32    304
Avatar billede shy Nybegynder
27. februar 2008 - 11:51 #2
Nope, jeg kan ikke få det til at virke.
PIVOT er også noget med SUM, eller AVG af værdierne, hvilket jeg ikke skal bruge.
Jeg har brug for at se et konkret SELECT som laver det rigtige resultat!
Avatar billede HenrikSjang Nybegynder
22. marts 2008 - 23:15 #3
Jeg har antaget at du har kaldt din tabel for "TabelNavn", med kolonnerne "NAME" og "VALUE". Så kan du bruge følgende:

WITH PivotCTE
AS
(
SELECT
    ROW_NUMBER() OVER(PARTITION BY NAME ORDER BY NAME) AS RowNumber,
    *
FROM TabelNavn
)
SELECT P1, P2, P3 FROM PivotCTE
PIVOT (max(VALUE) FOR NAME IN ([P1], [P2], [P3])) p
Avatar billede shy Nybegynder
23. marts 2008 - 08:17 #4
Mange tak, det var lige sådan et select jeg havde brug for.
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