INNER JOINを実行したい2つの単純なテーブルがありますが、問題は、(列str1とstr2の)結果が重複していることです。
CREATE TABLE #A (Id INT, str1 nvarchar(50), str2 nvarchar(50))
insert into #A values (1, 'a', 'b')
insert into #A values (2, 'a', 'b')
CREATE TABLE #B (Id INT, str1 nvarchar(50), str2 nvarchar(50))
insert into #B values (7, 'a', 'b')
insert into #B values (8, 'a', 'b')
select * from #A a
INNER JOIN #B b ON a.str1 = b.str1 AND a.str2 = b.str2
本当に2つ欲しかったのに4つのレコードができました。
私が得たもの:
id | str1 | str2 | id | str1 | str2
1 | a | b | 7 | a | b
2 | a | b | 7 | a | b
1 | a | b | 8 | a | b
2 | a | b | 8 | a | b
私が本当に欲しかったもの:
1 a | b | 7 | a | b
2 a | b | 8 | a | b
誰か助けてもらえますか?これはカーソルとループを使用して実現できることはわかっていますが、それを避け、可能な場合は特定の種類のJOINのみを使用したいと思います。