0

これが状況です。次のすべての情報を含むビューを作成しました

CREATE VIEW view2 AS
SELECT activity_id,
       subject_code,
       academic_period_code,
       DATEDIFF(HOUR,time_start,time_end) AS duration
FROM   activity

さて、ここで、2 つの列を生成できるクエリを作成しようとしています。限目

つまり、academic_period 121 の CS123 には合計 5 時間のアクティビティがあります。最初の列は問題ありませんが、2 番目の列を取得するにはどうすればよいか疑問に思っています。SUM 関数を使用すると、列自体が合計されるだけなので、これを処理する方法がわかりません。

サンプルデータ

Subject Code   Activity_code    Academic_Period_Code   Duration
CS123          1                 121                   2
CS123          2                 121                   3
CS123          3                 122                   2
CS123          4                 122                   2

私がやった事?]

SELECT subject_code + academic_period_code AS subject,
       (I think I have to do a subquery but I'm not sure how its suppose to work out) AS total_activity_time

ビュー 2 から

4

2 に答える 2

1

SQL Server を想定し、あなたが探しているものを理解していると仮定します。

select
    subject_code + academic_period_code as [Type],
    sum(duration) as duration
from view2
group by
    subject_code + academic_period_code;

あなたが行こうとしていると私が思うところにあなたを連れて行くべきです。

于 2012-05-31T03:38:20.970 に答える
0
select
    subject_code + academic_period_code as subjects,
    sum(duration) as duration
from view2
group by
    subject_code, academic_period_code;
于 2012-05-31T05:19:54.753 に答える