sql >> Database >  >> RDS >> Oracle

Foutrapport - ORA-25155:kolom gebruikt in NATURAL-join kan geen kwalificatie 25155 hebben. 00000 - kolom gebruikt in NATURAL-join kan geen kwalificatie hebben

Zoals anderen al hebben gezegd, zijn natuurlijke verbindingen altijd een slecht idee geweest. Wat als iemand een description toevoegt? kolom naar beide COURSE en GRADE ? Hoe dan ook, kolommen die in een natuurlijke join worden gebruikt, kunnen niet worden gekwalificeerd met een tabelalias.

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 );

Vraag:

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

Maak een weergave:

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;

Vervolg op je andere vraag...




  1. OUD en NIEUW object gebruiken voor dynamische bewerkingen binnen trigger

  2. Oracle gepartitioneerde tabel

  3. Afronden (OMHOOG/OMLAAG) in SQL Server – 5 handige tips

  4. selecteer verschillende telling(id) vs selecteer telling(onderscheiden id)