not if null values would be mapped to additional columnThat's what's asked in Query 1, right?
And to do that, you HAVE to map them to non-null value first:
with rws as (
select 'a' name, 1 id, 'eng' lang from dual union all
select 'b' name, 2 id, 'eng' lang from dual union all
select 'c' name, 3 id, 'fer' lang from dual union all
select 'd' name, 4 id, null lang from dual
)
select * from rws
pivot (min(id) for lang in
( 'eng' as english,'fer' as french, null as none )
)
order by 1;
NAME ENGLISH FRENCH NONE
a 1 - -
b 2 - -
c - 3 -
d - - -