0
私はまだSQLとデータベースでは少し新しくなっています。本当にシンプルなものが欠けているような気がしますが、なぜこのエラーが出るのか分かりません。Oracle/SQL 00904. 00000 - "%s:無効な識別子"
ORA-00904: "Total Pay": invalid identifier
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
助けてください。
with computed_pay as (select J.job_code,
case
when J.pay_type = 'salary' then J.pay_rate
when J.pay_type = 'wage' then J.pay_rate * 1920
else null
end "Total Pay"
from job J),
current_pay as (SELECT per_id,
"Total Pay",
primary_sector
FROM works
NATURAL JOIN job
NATURAL JOIN company
NATURAL JOIN job_profile),
old_pay as (SELECT per_id,
"Total Pay",
primary_sector
FROM works
NATURAL JOIN job
NATURAL JOIN company
NATURAL JOIN job_profile),
num_increase as (SELECT *
FROM current_pay C
WHERE EXISTS (SELECT I.per_id
FROM old_pay I
WHERE C.per_id = I.per_id) AND
"Total Pay" > all (SELECT "Total Pay"
FROM old_pay O
WHERE C.per_id = O.per_id)),
num_decrease as (SELECT *
FROM current_pay C
WHERE EXISTS (SELECT I.per_id
FROM old_pay I
WHERE C.per_id = I.per_id) AND
"Total Pay" < all (SELECT "Total Pay"
FROM old_pay O
WHERE C.per_id = O.per_id))
select (case
when (SELECT COUNT(*) FROM num_increase) <> 0 then
(SELECT COUNT(*) FROM num_decrease)/
(SELECT COUNT(*) FROM num_increase)
end) as ratio
from dual;
質問を編集して、 'works'、' job'、 'company'、' job_profile'のテーブルやビューのDDLを含めてください。その情報がなければ誰もこれに答えることができません。ありがとう。 –