2012-04-06 27 views
-1

我有一個表的設計是這樣的...SQL查詢來執行負載檢查爲員工

  • 1項目 - >多個產品。
  • 1產品 - >多種環境。
  • 1員工 - >多項活動。

狀態可以 「擱置」 是= 「新」, 「INPROGRESS」, 「關閉」

Activity table- ActID(PK), assignedtoID(FK), Env_ID(FK), Product_ID(FK), project_ID(FK), Status. 
    Product_table - Product_ID(PK), Product_name 
    Project_Table- Project_ID(PK), Project_Name. 
    Environment_Table- Env_ID(PK), Env_Name. 
    Employee_Table- Employee_ID(PK), Name. 
    Employee_Product_projectMapping_Table -Emp_ID(FK), Project_ID(FK), Product_ID(FK). 
    Product_EnvMapping_Table - Product_ID(FK), Env_ID(FK). 

負載進行確認查詢

首先找出的活動總數分配給特定項目中的每個員工。 (A)

(A)。然後在status = new或inprogress的那個項目中找到該僱員的活動數量。 (B)。除A/B。以百分比值計算此A/B。

所以我最終的查詢表輸出將包括

  • 員工
  • 項目的名稱
  • 總分配行爲(計數值)
  • 其地位法新或進程(Count的名稱)
  • 負荷(百分比值)

任何人都可以幫助我查詢並解釋如何實現這個結果?謝謝。

到目前爲止,我已經嘗試過這麼多......讓A和B的結果,但現在我需要結合這兩種...

(A). 

SELECT activity_table.assignid, activity_table.projid, Count(activity_table.actid) AS CountOfactid 
FROM activity_table 
GROUP BY activity_table.assignid, activity_table.projid; 

(B). 

SELECT activity_table.assignid, activity_table.projid, Count(activity_table.actid) AS CountOfactid 
FROM activity_table where status in ('new','inprogress') 
GROUP BY activity_table.assignid, activity_table.projid ; 
+0

@AmitBhargava在上面編輯過... – user1312006 2012-04-09 10:03:16

+0

A的計數應該大於B的計數。那麼,你想要A/B還是B/A? – sarwar026 2012-04-09 17:41:09

+0

是的,我是Sarwar026 ..我想要A/B – 2012-04-10 04:56:20

回答

0

這是高達3結果......不是第4一。

select Employee_table.name,Project_table.Project_Name, Count(activity_table.actid) AS CountOfactid 

from Activity table,Employee_Table,Project_Table,Employee_Product_projectMapping_Table 

where Activity_Table.Product_Id=Project_Table.Product_Id 

and 

aage ka syntax yaad nai aa raha hai... 

Employee_Product_projectMapping_Table aur Employee_Table ko combine karke emp name through equating product id... 

第四屆一個使用嵌套查詢......

將盡力解決這個查詢儘快.....:P

409008 ....

+1

歡迎來到SO,Chandan Ray。請在整個答案中嘗試使用英語。 – 2012-04-20 13:47:54