2016-04-14 5 views
0

:私は次のような結果を得るようにカウント数

PERSON IS_EMPLOYED  IS_MARRIED  IS_STUDENT 

John  Y     N    Y 
Tom   N     Y    N 
Rob   N     N    N 
Ron   Y     Y    Y 

がどのように私は一人一人のために、全YさんとNさんを数えることができますか?

PERSON  TOTAL_Y   TOTAL_N 

John  2    1 
Tom   1    2 
Rob   0    3 
Ron   3    0 

私はAccessを使用していますが、VBAを使用して実行できますが、SQLを使用するだけで実装できる迅速なソリューションがあるのだろうかと思います。

答えて

1

あなたはこれを行うにはいくつかの方法があります以下のクエリ

SELECT 
    Person, 
    IFF(IS_EMPLOYED = 'Y', 1,0) + IFF(IS_MARRIED = 'Y', 1,0)+ IFF(IS_STUDENT = 'Y', 1,0) AS TOTAL_Y, 
    IFF(IS_EMPLOYED = 'N', 1,0) + IFF(IS_MARRIED = 'N', 1,0)+ IFF(IS_STUDENT = 'N', 1,0) AS TOTAL_N 
FROM Persons; 
+0

ありがとう、ありがとう! –

+0

@Sn_Srmあなたを助けてくれてうれしい! – DhruvJoshi

1

を試すことができます。ユニオンクエリーは、拡張したり、将来的に計算を追加したりすることができるので、良い選択です。

SELECT 
    person, 
    sum(iif(yesno='Y', 1, 0)) as Total_Y, 
    sum(iif(yesno='N', 1, 0)) as Total_N 
FROM 
    (  
     SELECT person, is_employed as yesno FROM table 
     UNION ALL 
     SELECT person, is_married FROM table 
     UNION ALL 
     SELECT person, is_student FROM table 
    ) AS yesnoquery 
GROUP BY person 
+0

ありがとうございました! –