Пытаясь создать представление, и я получаю сообщение об ошибке ORA-00904: «JOB»: неверный идентификатор - PullRequest
0 голосов
/ 01 декабря 2018
CREATE VIEW emp_view AS 
SELECT empno AS "Employee Number", ename AS "Employee Name", NVL(sal * 26 + comm * 12 ,0) as "Gross Salary", job , loc as "Location" 
FROM dept;

Создайте представление с именем emp_view, которое является соединением таблицы emp и таблицы dept.Представление состоит из SQL-запроса, который показывает empno, ename, sal * 26 + comm * 12 (не забудьте функцию NVL () в COMM), задание и loc из таблицы dept.

Это представление для отдела кадров и будет состоять из следующих столбцов:

Empno будет отображаться в виде «Номер сотрудника»

Ename будет отображаться как «Имя сотрудника»

Работа, которую вы можете оставить как JOB

Лок будет отображаться в виде «Местоположение»

Ответы [ 2 ]

0 голосов
/ 02 декабря 2018

Как уже упоминалось в предыдущем ответе, кажется, вы пытаетесь создать представление из объединения emp и таблицы dept.Сообщение об ошибке ясно говорит о том, что столбец, используемый в представлении, не существует в таблице «dept», которую вы используете в своем представлении.Если вы можете опубликовать структуру таблицы emp, это поможет вам дать правильный ответ.

Но на основании ограниченной информации, приведенной в вашем примере, вы можете попытаться объединить обе таблицы примерно так:

0 голосов
/ 01 декабря 2018

Сообщение об ошибке является простым, в таблице DPT нет столбца с именем JOB.

В вопросе упоминается, что:

emp_view является объединением emptable и таблица dept

Итак, я предполагаю, что столбец JOB на самом деле происходит из таблицы EMP.Следовательно, в определении вашего взгляда вы должны присоединиться к DEPT с EMP вместо того, чтобы использовать только DEPT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...