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 ;
Jika Anda memiliki lebih banyak baris dalam satu atau tabel lain untuk (str1, str2)
yang sama kombinasi, Anda dapat memilih mana yang akan dikembalikan dengan mengubah INNER
bergabung ke salah satu LEFT
, RIGHT
atau FULL
bergabung.