SELECT
a.id AS a_id, a.str1 AS a_str1, a.str2 AS a_str2,
b.id AS b_id, b.str1 AS b_str1, b.str2 AS b_str2
FROM
( SELECT *
, ROW_NUMBER() OVER (PARTITION BY str1, str2 ORDER BY id) AS rn
FROM #A
) a
INNER JOIN
( SELECT *
, ROW_NUMBER() OVER (PARTITION BY str1, str2 ORDER BY id) AS rn
FROM #B
) b
ON a.str1 = b.str1
AND a.str2 = b.str2
AND a.rn = b.rn ;
Wenn Sie mehrere Zeilen in der einen oder anderen Tabelle für denselben (str1, str2)
haben Kombination, können Sie auswählen, welche zurückgegeben werden, indem Sie INNER
ändern Join to entweder LEFT
, RIGHT
oder FULL
beitreten.