Oracle
 sql >> база данни >  >> RDS >> Oracle

Доклад за грешка - ORA-25155:колоната, използвана в NATURAL съединение, не може да има квалификатор 25155. 00000 - колоната, използвана в NATURAL съединение, не може да има квалификатор

Както други споменаха, естествените съединения винаги са били лоша идея. Ами ако някой добави description колона към двете COURSE и GRADE ? Както и да е, колоните, използвани в естествено съединение, не могат да бъдат квалифицирани с псевдоним на таблица.

create table student
( student_id integer primary key
, student_name varchar2(30) not null );

create table course
( course_id integer primary key
, course_name varchar2(30) not null );

create table grade
( student_id references student not null
, course_id  references course not null
, grade varchar2(3) not null );

Заявка:

select student_id, student_name, course_id, course_name, grade
from   student 
       natural left join grade 
       natural left join course;

Създайте изглед:

create or replace view student_view as 
select course_id, student_id, student_name, grade, course_name
from   student 
       natural left outer join grade 
       natural left outer join course
union all
select course_id, student_id, student_name, grade, course_name
from   course 
       natural left outer join grade 
       natural left outer join student
where  student_id is null;

Продължение по вашия друг въпрос...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python DPI-1047 Не може да намери dlopen(libclntsh.dylib) на macOS

  2. ORACLE 11g не е чувствителен към регистъра по подразбиране

  3. Подреждане на низовете при конкатенация в Oracle

  4. Ред за изпълнение на ORACLE SQL ROWNUM

  5. Създаване на последователност за поле varchar2 в Oracle