Você pode usar a seguinte consulta:
SELECT id, name, partNumber, Aid, Aname, Apart
FROM TableB AS t
CROSS JOIN (SELECT id AS Aid, name AS Aname, partNumber AS Apart
FROM TableA AS a
WHERE NOT EXISTS (SELECT 1
FROM TableB AS b
WHERE b.partNumber = a.partNumber)) AS c
ORDER BY id
A ideia é selecionar todos os registros necessários da
TableA
usando um NOT EXISTS
cláusula. Então CROSS JOIN
a tabela derivada desta consulta com Table1
para obter todas as combinações possíveis. Demonstração aqui