select pl.label_id,
( select pv.label_value 
from PV_I18N_ACTIVE_LOCALE_LABEL pv 
where pv.locale_id='English' 
and pv.label_type_id = 'LABEL'
and pv.label_id = pl.label_id ) as 'English',
( select pv.label_value 
from PV_I18N_ACTIVE_LOCALE_LABEL pv 
where pv.locale_id='Hindi' 
and pv.label_type_id = 'LABEL'
and pv.label_id = pl.label_id ) as 'Hindi',

from PV_I18N_ACTIVE_LOCALE_LABEL pl
where pl.label_type_id = 'LABEL'
order by pl.label_id

Ошибка

ORA-00923: FROM keyword not found where expected
-1
Chinmoy Nandi 3 Янв 2018 в 14:24

2 ответа

Лучший ответ

У вас есть лишний , в вашем SQL, который находится непосредственно перед ключевым словом FROM.

and pv.label_id = pl.label_id ) as 'Hindi',

from PV_I18N_ACTIVE_LOCALE_LABEL pl

== Отредактировано ==

Я не уверен, почему вы делаете запрос таким сложным, когда это можно сделать легко. Почему вы используете встроенный запрос, если того же можно добиться с помощью оператора CASE.

select CASE WHEN pl.locale_id='English' THEN 
pl.label_value 
END  as 'English',
CASE WHEN pl.locale_id='Hindi' THEN 
pl.label_value 
END  as 'Hindi'  from PV_I18N_ACTIVE_LOCALE_LABEL pl where pl.label_type_id = 'LABEL';
1
Ravi 4 Янв 2018 в 11:01

Удалите "," перед из ключевого слова

1
Elnur 3 Янв 2018 в 11:28