sql >> Databáze >  >> RDS >> Oracle

Chybová zpráva – ORA-25155:sloupec použitý v NATURAL spojení nemůže mít kvalifikátor 25155. 00000 – sloupec použitý v NATURAL spojení nemůže mít kvalifikátor

Jak již uvedli jiní, přirozené spojování byl vždy špatný nápad. Co když někdo přidá description sloupec do obou COURSE a GRADE ? Každopádně sloupce použité v přirozeném spojení nelze kvalifikovat pomocí aliasu tabulky.

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

Dotaz:

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

Vytvořte zobrazení:

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;

Pokračování ve vaší jiné otázce...




  1. Připojte se k databázi MSSQL pomocí Flask-SQLAlchemy

  2. neplatný odkaz na položku klauzule FROM pro tabulku v dotazu Postgres

  3. Chyba – přetečení SqlDateTime. Musí být mezi 1. 1. 1753 12:00:00 a 31. 12. 9999 23:59:59

  4. Výjimka SQLite Query Kód chyby syntaxe Android Studio 1