Я пытаюсь присоединиться к двум таблицам в MS SQL, но мне нужно присоединиться к неиспользуемым строкам.таблицы left join, используйте только одну строку из левой таблицы
Пример:
table1 table2
key - value | key - value
1 - 1 | 1 - 1
2 - 2 | 2 - 1
3 - 3 | 3 - 3
4 - 3 | 4 - 4
SQL код
select * from table1
left outer join
(
select * from
(
select *, row_number() over(partion by value order by key) as rwno
from table2
) as t2
where rwno = 0 -- this eliminates first two rows in table2
) as tab2
on
table1.key = tab2.value
этот запрос возвращает
table1.key - table1.value - tab2.key - tab2.value
1 - 1 - 1 - 1
2 - 2 - null - null
3 - 3 - 3 - 3
4 - 3 - 3 - 3
В этом возвращении используется дважды строку 3 из table2
я должен ответить, как (без двуличия)
table1.key - table1.value - tab2.key - tab2.value
1 - 1 - 1 - 1
2 - 2 - null - null
3 - 3 - 3 - 3
4 - 3 - null - null
Есть ли возможность достичь этого возвращения с использованием MS SQL запроса.
Почему не должно быть соответствия, где ключ = 4, он кажется уникальным для меня? –
это значение из таблицы2 уже использовалось в строке 3. –