0

同じ内容の列の数を数える必要がある SQL ビューを作成しようとしています

例えば

UID    person1_score    person2_score    person3_score    person4_score    person5_score    person6_score
1      1                1                1                1                2                2

最終的な出力は次のようになります

UID    person1_score    person2_score    person3_score    person4_score    person5_score    person6_score    score_with_1    score_with_2
1      1                1                1                1                2                2                4               2 

最終出力列 (score_with_1 および score_with_2) で、その行でスコアが「1」または「2」の人の数をカウントしました

これを実現する方法はありますか?

4

1 に答える 1

0

これを試して

CREATE VIEW view_Name AS
SELECT UID,    
       person1_score,
       person2_score,
       person3_score,
       person4_score,
       person5_score,
       person6_score 
       (SUM(CASE WHEN person1_score=1 THEN 1 ELSE 0 END)+
        SUM(CASE WHEN person2_score=1 THEN 1 ELSE 0 END)+
        SUM(CASE WHEN person3_score=1 THEN 1 ELSE 0 END)+
        SUM(CASE WHEN person4_score=1 THEN 1 ELSE 0 END)+
        SUM(CASE WHEN person5_score=1 THEN 1 ELSE 0 END)+
        SUM(CASE WHEN person6_score=1 THEN 1 ELSE 0 END))
       AS score_with_1,
       (SUM(CASE WHEN person1_score=2 THEN 1 ELSE 0 END)+
         SUM(CASE WHEN person2_score=2 THEN 1 ELSE 0 END)+
         SUM(CASE WHEN person3_score=2 THEN 1 ELSE 0 END)+
         SUM(CASE WHEN person4_score=2 THEN 1 ELSE 0 END)+
         SUM(CASE WHEN person5_score=2 THEN 1 ELSE 0 END)+
         SUM(CASE WHEN person6_score=2 THEN 1 ELSE 0 END))
      AS score_with_2
FROM Table t
于 2013-08-12T05:04:11.850 に答える