Vous pouvez utiliser la requête suivante :
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
L'idée est de sélectionner tous les enregistrements requis de TableA
en utilisant un NOT EXISTS
clause. Puis CROSS JOIN
la table dérivée de cette requête avec Table1
pour obtenir toutes les combinaisons possibles.