1

Тема: view oracle

Як в даному представленні за допомогою case задати (поміняти) назву країни - USA з таблиці Country (зараз назва - США)?
Тут не можна set або update?

create or replace view Shops_USA as 
select sh.NAME_SHOP,c.NAME_COUNTRY
from SHOPS sh,COUNTRY c where sh.ID_COUNTRY=c.ID_COUNTRY and c.ID_COUNTRY=6;

2

Re: view oracle

Case when nvl(NAME_COUNTRY,'') = 'США' then 'USA' else NAME_COUNTRY end as NAME_COUNTRY

це якщо я вірно зрозумів опис умови.

3

Re: view oracle

create or replace view Shops_USA as 
select sh.NAME_SHOP,c.NAME_COUNTRY,Case when nvl(NAME_COUNTRY,'') = 'США' then 'USA' else NAME_COUNTRY end as NAME_COUNTRY
from SHOPS sh,COUNTRY c where sh.ID_COUNTRY=c.ID_COUNTRY and c.ID_COUNTRY=6;

помилка

ORA-00957: duplicate column name
00957. 00000 -  "duplicate column name"

4

Re: view oracle

Case when nvl(NAME_COUNTRY,'') = 'США' then 'USA' else NAME_COUNTRY end as NAME_COUNTRY_CASE

5

Re: view oracle

У цьому випадку створиться новий стовпчик, в якому назва країни буде USA .На скільки я зрозумів в Ораклі не можна щоб в тому самому стовпчику назва була USA без створення нового стовпчика?

6

Re: view oracle

Можна. Просто не відображайте оригінальний стовпчик, а замість нього використовуйте запропоновану мною конструкцію.

7

Re: view oracle

дякую
вийшло