Это предложение FROM
? Я так не думаю.
Если вы спросите, что он делает, то: он объединяет значение столбца CSA.X_INITIATED_BY_PSID
с
table_name.user_fullname
, если есть строка, в которой USER_PSID
равно ранее упомянутому X_INITIATED_BY_PSID
NA
, если такой строки нет
Например:
SQL> with
2 -- sample data
3 csa (x_initiated_by_psid) as
4 (select 1 from dual union all
5 select 2 from dual
6 ),
7 table_name (user_psid, user_fullname) as
8 (select 1, 'Little' from dual
9 )
10 -- your query
11 select c.x_initiated_by_psid ||' - '||
12 case when (select t.user_fullname from table_name t
13 where t.user_psid = c.x_initiated_by_psid
14 ) is null then 'NA'
15 else
16 (select t.user_fullname from table_name t
17 where t.user_psid = c.x_initiated_by_psid
18 )
19 end result
20 from csa c;
RESULT
-------------------------------------------------
1 - Little
2 - NA
SQL>
Хотя, вероятно, это чрезмерно сложное решение, поскольку внешнее соединение делает то же самое с меньшими усилиями:
SQL> with
2 -- sample data
3 csa (x_initiated_by_psid) as
4 (select 1 from dual union all
5 select 2 from dual
6 ),
7 table_name (user_psid, user_fullname) as
8 (select 1, 'Little' from dual
9 )
10 -- your query
11 select c.x_initiated_by_psid ||' - '|| nvl(t.user_fullname, 'NA') result
12 from csa c left join table_name t on t.user_psid = c.x_initiated_by_psid;
RESULT
-------------------------------------------------
1 - Little
2 - NA
SQL>