sql >> Database teknologi >  >> RDS >> Oracle

Fejlrapport - ORA-25155:kolonne brugt i NATURAL join kan ikke have qualifier 25155. 00000 - kolonne brugt i NATURAL join kan ikke have qualifier

Som andre har nævnt, har naturlige sammenføjninger altid været en dårlig idé. Hvad hvis nogen tilføjer en description kolonne til både COURSE og GRADE ? Under alle omstændigheder kan kolonner, der bruges i en naturlig joinforbindelse, ikke kvalificeres med et 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 );

Forespørgsel:

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

Opret en visning:

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;

Fortsat på dit andet spørgsmål...




  1. Konverter tidsstempel til en læsbar dato under forespørgsel

  2. have tælle med join

  3. Opdater poster, der opfylder en betingelse med stigende antal

  4. JOOQ tvungen typekodegenerering