В предложении SELECT объедините все необходимые значения (включая запятые и т. Д.) И запишите все заголовки столбцов (при необходимости) после AS.
Таблицы для тестирования:
create table individual ( id, status, language )
as
select 1000, '1', 'en' from dual union all
select 1001, '1', 'en' from dual union all
select 1002, '1', 'de' from dual union all
select 2000, '2', 'es' from dual union all
select 2001, '2', 'fr' from dual ;
create table msisdn ( individualid, msisdn, country )
as
select 1000, 9321767493, 'IN' from dual union all
select 1001, 4421767493, 'GB' from dual union all
select 1002, 4921767493, 'DE' from dual ;
Запрос
select
m.msisdn || ',' || 'MSISDN' || ',' || i.language || '_' || m.country
as "identifier,type,locale"
from
individual i,
msisdn m
where
i.id = m.individualid
and i.status = '1'
and rownum < 11;
-- result
identifier,type,locale
-----------------------------------------------------
9321767493,MSISDN,en_IN
4421767493,MSISDN,en_GB
4921767493,MSISDN,de_DE
В командной строке (например, Oracle 18c, sqlcl) вы можете сделать следующее:
SQL> set sqlformat csv
SQL> select
2 m.msisdn || ',' || 'MSISDN' || ',' || i.language || '_' || m.country
3 as "identifier,type,locale"
4 from
5 individual i,
6 msisdn m
7 where
8 i.id = m.individualid
9 and i.status = '1'
10 and rownum < 11;
-- output
"identifier,type,locale"
"9321767493,MSISDN,en_IN"
"4421767493,MSISDN,en_GB"
"4921767493,MSISDN,de_DE"
Кроме того, вы можете / должны использовать JOIN ... ON ... при записи внутренних объединений, например,
select
m.msisdn || 'MSISDN' || i.language || '_' || m.country
as "identifier,type,locale"
from
individual i join msisdn m on i.id = m.individualid
where
i.status = '1'
and rownum < 11;
DBfiddle здесь.