2011-12-07 20 views
0

イメージを参照してください。私は各「プロジェクト名」月別SQLグループ

いくつかの理由のための総費用、時間、日を持っている必要があります私のレポートで

あなたならば、私は例えば、月によってグループに各プロジェクトのすべてのデータを私の見解を取得することはできません2010年7月に2つのエントリがあるのを見て、これを1行に合計として表示します。誰でも助けてくれますか?

SELECT  TOP (100) PERCENT Date_year, Date_month_number, Date_month_name, Service, Hours, Days, ProjectName, Cost 
FROM   dbo.Resources_group_projectname 
WHERE  (Service LIKE '%Housing%') 
GROUP BY ProjectName, Date_year, Date_month_number, Date_month_name, Hours, Days, Cost, Service 
ORDER BY Date_year, Date_month_number 
列の

enter image description here

+0

あなたの 'GROUP BY'は、グループを別々に保つ他のフィールドを指定します。あなたは、あなたが何をしているか、どのようにグループ化がうまくいくかについて、さらにいくつか説明する必要があります。 – JNK

+1

画像は[サンプルコード](http://sscce.org/)よりもあまり有用ではありません。 – outis

+0

時間、日、コストなどの異なる列をどのように結合/解決したいですか? MAX値を選択しますか?それらを一緒にSUM? –

答えて

3

あなたのリストには、任意の集合体が含まれていません。以下を試してみてください:

SELECT Date_year, Date_month_number, Date_month_name, Service, SUM(Hours), SUM(Days), ProjectName, SUM(Cost) 
FROM dbo.Resources_group_projectname 
WHERE (Service LIKE '%Housing%') 
GROUP BY ProjectName, Date_year, Date_month_number, Date_month_name, Service 
ORDER BY Date_year, Date_month_number 
+0

だから私はSUM日、時間とコストが必要ですか? – JsonStatham

+0

はい、月の合計を取得するには、これらの列をSUMする必要があります。 – Scott

1

あなたの重複は、プロジェクトと月だけでなく、時間と日を含めて、グループ化されています。

したがって、Project_Name、Date_Year、Date_Month_Numberのように、実際に出力する行のキーとしてグループ化する必要があります。表示するフィールドはすべて集約フィールドにする必要があります。

関連する問題