-1

私はこのようなテーブルのデザインを持っています...

  • 1 プロジェクト --> 複数の製品。
  • 1 製品 --> 複数環境。
  • 従業員 1 人 --> 複数の活動。

ステータスは「新規」、「進行中」、「保留中」、「終了」のいずれかです。

    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). 次に、ステータス = 新規または進行中のプロジェクトで、その従業員の活動の数を見つけます。(B)。A/B を割ります。この A/B をパーセント値で計算します。

したがって、最終的なクエリ テーブルの出力は次のようになります。

  • 従業員の名前
  • プロジェクト名
  • 担当行為合計(カウント値)
  • ステータスが新規または処理中の行為(カウント)
  • 負荷(パーセント値。)

誰かがクエリを手伝って、この結果を達成する方法を説明できますか? ありがとう。

これまでのところ、私はこれを試してきました... AとBの結果を得ていますが、今はこれら2つを組み合わせる必要があります...

(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 ;
4

1 に答える 1

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...

4番目のものは、ネストされたクエリを使用します......

このクエリをできるだけ早く解決しようとします.....:P

409008....

于 2012-04-20T10:14:41.857 に答える