Привет У меня есть сомнения в SQL сервереКак получить уникальные записи на основе 2 таблиц?
Table : emp
Id | Desc
1 | abc
2 | def
3 | har
table2: emp1
Id | Desc
3 | Har
4 | jai
4 | jai
5 | uou
6 | uni
6 | udkey
2 | Jainiu
на основе приведенной выше таблицы я хочу вывода, как показано ниже
ID | Desc
1 | abc
2 | def
3 | har
4 | jai
5 | uou
6 | uni
Я попытался, как показано ниже
select id, desc from emp
union
select * from (select *,row_number()over(partition by id)as rn from emp1)
where rn=1
после выполнения этого запроса я получил сообщение об ошибке, как показано ниже
Msg 205, Level 16, State 1, Line 2
Все запросы в сочетании с использованием UNION, INTERSECT или КРОМЕ оператор должен иметь равное количество выражений в их целевые списки.
Это говорит выше. Первый запрос - это 2 столбца и 2 запроса - это 3 столбца, этот процесс , как мы избегаем этого столбца rn. пожалуйста, скажите мне, как написать запрос для того чтобы достигнуть этой задачи в SQL сервере
почему 'select id, desc from emp union select id, desc from emp1' ?? потому что в таблице emp1 есть новый столбец rn. – Wanderer
Также нет 'ORDER BY' в' ROW_NUMBER() ' –
@srinivas, см. Ниже вывод будет точно соответствовать выходу – mohan111