1

私はOracle APEXを使用していますが、クエリの作成方法が少し混乱しています。次の属性を持つ2つのテーブルを作成しました

Employees(  "EMP_ID", 
    "EMP_NAME", 
    "EMP_DESIGNATION" , 
    "EMP_ADDRESS" , 
    "EMP_GENDER", 
    "EMP_CONTACT", 
    "EMP_EMAIL" , 
    "EMP_JOINING_DATE", 
     CONSTRAINT "PK_EMP_ID" PRIMARY KEY ("EMP_ID") ENABLE
   );`

Attendance
(   ATT_ID, 
    EMP_ID, 
    ATT_STATUS, 
    ATT_IN DATE, 
    ATT_OUT DATE, 
    ATT_COMMENTS, 
CONSTRAINT "PK_ATT_ID" PRIMARY KEY ("ATT_ID") ENABLE
CONSTRAINT "FK_EMP_ID" FOREIGN KEY ("EMP_ID") REFERENCES "EMPLOYEES" ("EMP_ID"));

Att_Outからを差し引いてAtt_InMINUTES の時間を取得し、クエリの図に示すように、1 分あたりの従業員の給与をmultiply取得します。.69

select emp_id,sum(((att_out-att_in)*1440)*.69) as "minutes*sal/m" 
from attendance group by emp_id;

ここに画像の説明を入力

上記のように、残りのクエリを使用してテーブルselect EMP_ID,EMP_NAMEから取得したいと思います。Employees私はやったINNER JOINが、group by関数は私にエラーを与えています。

4

4 に答える 4

1

これを試して

SELECT e.emplid, e.emp_name,  
sum(((a.att_out-a.att_in)*1440)*.69) as "minutes*sal/m"
FROM Employees e 
inner join attendance a on e.emplid = a.emplid
group by e.emplid, e.emp_name
于 2013-02-13T05:45:10.343 に答える
0

次のクエリを試してください

select emp_id,sum(((att_out-att_in)*1440)*.69) as "minutes*sal/m" from attendance a,employees e 
where e.emp_id=a.emp_id
group by emp_id;
于 2013-02-13T05:47:28.040 に答える
0
SELECT e.emp_id, e.emp_name, sum(((a.att_out-a.att_in)*1440)*.69) as "minutes*sal/m" 
FROM Employees e 
inner join attendance a on e.emp_id = a.emp_id 
group by e.emp_id, e.emp_name;
于 2013-02-13T05:49:43.620 に答える