2014-02-24 165 views
0

我不知道如何正確地標題,所以我很抱歉,如果它很混亂。SQL計算列和計算創建表

我需要做的就是指望有多少項目是由各個部門跑,我需要查看各個部門的名稱,並計算出的結果

DEPARTMENT Table Imgur

PROJECT Table Imgur

分配一個名稱科拉姆

這是我到目前爲止已經試過,但它返回一個錯誤:

SELECT DISTINCT DepartmentName, COUNT(*) AS AmountOfProjects 
    FROM DEPARTMENT, PROJECT; 
+0

「則返回錯誤」 - 什麼是錯誤? – Blorgbeard

回答

0

當我嘗試user3083310解決方案時,仍然看起來錯誤,所有部門顯示5個項目,這是錯誤的。我添加了以下加入,它的工作原理如下:

SELECT DEPARTMENT.DepartmentName, Count(*) AS AmountOfProjects 
    FROM PROJECT, DEPARTMENT 
    WHERE PROJECT.Department = DEPARTMENT.DepartmentName 
    GROUP BY DEPARTMENT.DepartmentName; 

並且輸出結果與項目表中的信息匹配。

部門名稱:賬戶金融市場

AmountOfProjects:1 - 2 - 2

4
SELECT DepartmentName, Count(1) AS AmountOfProjects 
FROM Project 
GROUP BY DepartmentName 

由於部門的全名位於項目表中,因此您不需要部門表。

您遺漏了Group By。每當你在你的選擇中有一個聚合函數時,你需要一個組合

+1

只要你在select中有一個聚合和非聚合字段,你需要一個「GROUP BY」 –