Похоже, вы хотите, чтобы из двух таблиц были взяты произвольные пары, если во втором столбце нет повторяющихся значений.Независимо от того, получаете ли вы автомобиль / собаку или лодку / собаку, вы просто не хотите получать оба.
declare @Table1 table ( id1 Int, value1 VarChar(8) )
insert into @Table1 ( id1, value1 ) values ( 1, 'car' )
insert into @Table1 ( id1, value1 ) values ( 1, 'boat' )
insert into @Table1 ( id1, value1 ) values ( 1, 'man' )
declare @Table2 table ( id2 Int, value2 VarChar(8) )
insert into @Table2 ( id2, value2 ) values ( 1, 'dog' )
insert into @Table2 ( id2, value2 ) values ( 1, 'dog' )
insert into @Table2 ( id2, value2 ) values ( 1, 'cat' )
-- All combinations.
select value1, value2, Row_Number() over ( order by value2 ) as 'RowNumber'
from @Table1 as L inner join @Table2 as R on L.id1 = R.id2
-- Some combinations in which values in the second column do not recur.
select value1, value2
from ( select value1, value2, Row_Number() over ( order by value2 ) as 'RowNumber'
from @Table1 as L inner join @Table2 as R on L.id1 = R.id2 ) as Blue
where RowNumber = ( select min( RowNumber ) from
( select value1, value2, Row_Number() over ( order by value2 ) as 'RowNumber'
from @Table1 as L inner join @Table2 as R on L.id1 = R.id2 ) as Grey where value2 = Blue.value2 )