un truc pas beau mais qui a le merite d'exister a 23h00
select a.id,nvl(b.flag,'NON'),nvl(c.flag,'NON')
from
(select distinct id
from t1) a,
(select distinct id,'OUI' flag
from t1
where type = 1) b,
(select distinct id,'OUI' flag
from t1
where type = 2) c
bon c'est tres moche et sur des enormes tables c'est code tout pourri, mais faut voir ta situation, perso je le ferai sans doute en sql dynamique mais faut voir tes data, puis db2 je n'y connais rien en optimisation.