Avatar billede KKKnudsen Nybegynder
10. januar 2015 - 01:07 Der er 2 kommentarer og
1 løsning

Trække to outputs fra hinanden

Jeg har lavet en query, der viser fordelingen mellem mænd og kvinder ved foreningens start og nu:

SELECT kb_gender,
    sum(case when kb_start = '1' then 1 else 0 end) Before,
    sum(case when kb_exitdate IS NULL then 1 else 0 end) Now
    FROM kb_members
    GROUP BY kb_gender

Ovenstående virker og vises i tre kolonner:

KØN    FØR    NU
K            717    718
M          1727    1726


Men jeg kunne godt tænke mig en 4. kolonne, der viser forskellen på før og nu:

KØN    FØR    NU    DIFF.
K          717      718      +1
M          1727    1726      -1


Jeg håber, jeg kan lave noget i retningen af det her:

SELECT kb_gender,
    sum(case when kb_start = '1' then 1 else 0 end) Before,
    sum(case when kb_exitdate IS NULL then 1 else 0 end) Now,
    sum(case 'Before'-'Now') Difference
    FROM kb_members
    GROUP BY kb_gender

Kan det lade sig gøre?


vh Kenneth
Avatar billede arne_v Ekspert
10. januar 2015 - 03:46 #1
SELECT kb_gender,
    sum(case when kb_start = '1' then 1 else 0 end) Before,
    sum(case when kb_exitdate IS NULL then 1 else 0 end) Now,
    (sum(case when kb_start = '1' then 1 else 0 end) -
    sum(case when kb_exitdate IS NULL then 1 else 0 end)) Difference
    FROM kb_members
    GROUP BY kb_gender
Avatar billede KKKnudsen Nybegynder
10. januar 2015 - 14:53 #2
Det var mere enkelt, end jeg selv kunne have gættet mig til ...

Tak, Arne, der er point, hvis du lægger et svar.

vh Kenneth
Avatar billede arne_v Ekspert
10. januar 2015 - 17:18 #3
svar
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