蟾蜍在蟾蜍中为oracle明确定义错误

时间:2018-10-05 06:03:14

标签: sql oracle toad

我正在为蟾蜍设计oracle,并编写了此SQL查询,但它给出了一个 错误:

[错误]执行(65:3):ORA-00918:列定义不明确

下面是我尝试给别名提供别名以区分列的SQL查询。

 select HR.EMPLOYEES.FIRST_NAME||' '||HR.EMPLOYEES.LAST_NAME AS 
 Full_Name,HR.EMPLOYEES.SALARY as sal,HR.EMPLOYEES.JOB_ID as ji,
 HR.EMPLOYEES.COMMISSION_PCT as cmpct,HR.EMPLOYEES.MANAGER_ID as 
 mgid,HR.EMPLOYEES.DEPARTMENT_ID as dep,HR.DW_COUNTRIES.C_ID as 
 country,HR.DW_REGION.R_ID as region,
 HR.LOCATIONS.LOCATION_ID as loc
 from HR.EMPLOYEES
 join HR.DEPARTMENTS ON 
 HR.EMPLOYEES.DEPARTMENT_ID=HR.DEPARTMENTS.DEPARTMENT_ID
join HR.DEPARTMENTS ON HR.DEPARTMENTS.LOCATION_ID=HR.LOCATIONS.LOCATION_ID
join HR.LOCATIONS   ON HR.LOCATIONS.COUNTRY_ID=HR.DW_COUNTRIES.C_ID
join HR.DW_COUNTRIES ON HR.DW_COUNTRIES.R_ID=HR.DW_REGION.R_ID
where HR.DW_COUNTRIES.C_ID='US'
AND HR.EMPLOYEES.HIRE_DATE BETWEEN TO_DATE('16/08/2002','DD/MM/YYYY') AND 
TO_DATE('07/12/2007','DD/MM/YYYY')
AND HR.DW_REGION.R_ID=2
AND HR.LOCATIONS.LOCATION_ID=1700
AND HR.EMPLOYEES.DEPARTMENT_ID=90

1 个答案:

答案 0 :(得分:0)

您在查询中两次使用了HR.DEPARTMENTS表,这是问题的根源。您绝对确定必须两次加入此表吗?您也有一些不清楚的联接。我修复了它们,但未测试查询。

 select HR.EMPLOYEES.FIRST_NAME||' '||HR.EMPLOYEES.LAST_NAME AS 
 Full_Name,HR.EMPLOYEES.SALARY as sal,HR.EMPLOYEES.JOB_ID as ji,
 HR.EMPLOYEES.COMMISSION_PCT as cmpct,HR.EMPLOYEES.MANAGER_ID as 
 mgid,HR.EMPLOYEES.DEPARTMENT_ID as dep,HR.DW_COUNTRIES.C_ID as 
 country,HR.DW_REGION.R_ID as region,
 HR.LOCATIONS.LOCATION_ID as loc
 from HR.EMPLOYEES
 join HR.DEPARTMENTS ON 
 HR.EMPLOYEES.DEPARTMENT_ID=HR.DEPARTMENTS.DEPARTMENT_ID
join HR.LOCATIONS    ON HR.DEPARTMENTS.LOCATION_ID=HR.LOCATIONS.LOCATION_ID
join HR.DW_COUNTRIES ON HR.LOCATIONS.COUNTRY_ID=HR.DW_COUNTRIES.C_ID
join HR.DW_REGION    ON HR.DW_COUNTRIES.R_ID=HR.DW_REGION.R_ID
where HR.DW_COUNTRIES.C_ID='US'
AND HR.EMPLOYEES.HIRE_DATE BETWEEN TO_DATE('16/08/2002','DD/MM/YYYY') AND 
TO_DATE('07/12/2007','DD/MM/YYYY')
AND HR.DW_REGION.R_ID=2
AND HR.LOCATIONS.LOCATION_ID=1700
AND HR.EMPLOYEES.DEPARTMENT_ID=90