Não sei a estrutura de suas tabelas.
Seria algo assim?
create type produto is object(
produto_id integer
);
create type tabela_produto is table of produto;
create type fornecedor is object(
fornecedor_id integer,
produtos tabela_produto
);
create type tabela_fornecedor is table of fornecedor;
CREATE TABLE fornecedor_tab (
fornecedor_id integer,
name varchar2(30),
endereco varchar2(20),
fornecedores tabela_fornecedor)
NESTED TABLE fornecedores STORE AS fornecedor_stor_tab
((PRIMARY KEY (NESTED_TABLE_ID, fornecedor_id))
ORGANIZATION INDEX COMPRESS
nested table produtos store as produto_stor_tab);
CREATE TABLE produto_tab (
produto_id integer,
name varchar2(30),
endereco varchar2(20),
produto tabela_produto
)
nested table produto store as produtos_stor_tab;
SELECT t1.fornecedor_id, t1.name, t1.endereco, t2.*, t3.produto_id, t3.name, t4.*
FROM fornecedor_tab t1, TABLE(t1.fornecedores) t2, produto_tab t3, TABLE(t3.produto) t4
WHERE t2.fornecedor_id = t1.fornecedor_id
and t4.produto_id = t3.produto_id;