У меня есть 2 простых таблиц, которые я хотел бы выполнить внутреннее соединение с, но проблема в том, что я получаю дублированы (для str1 колонн и str2) результаты:Дублированные результаты при выполнении INNER JOIN
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
Он дал мне 4 записи, когда я действительно хотел 2.
Что я получил:
идентификатор | 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, если это возможно.
Спасибо, это отлично работает! – codetc