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。没有这些信息,任何人都无法回答。谢谢。 –