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

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