In that case you can also try this. It works like LEFT JOIN i.e. if no stock/price document also it gives material document
SELECT d.size, d.pattern, d.country, d.totalStock, u.*
FROM (SELECT material.size,
material.oldMaterialNumber AS pattern,
material.country,
SUM(TO_NUMBER(totalStock)) AS totalStock,
ARRAY_AGG( DISTINCT {material.id, wsp, "bpc":material.materialCode}) AS arr
FROM bridgestone_test AS material
LET totalStock = (SELECT RAW stockData.totalStock FROM bridgestone_test AS stockData USE KEYS material.stockId)[0],
wsp = (SELECT RAW priceData.price FROM bridgestone_test AS priceData USE KEYS material.pricePrio3Id)[0]
WHERE material.docType = "MATERIAL"
GROUP BY material.size, material.oldMaterialNumber, material.country) AS d
UNNEST d.arr AS u;