Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 выборка только одной строки подчиненной таблицы  [new]
_ч_
Member

Откуда:
Сообщений: 1446
Даже не знаю как озаглавить тему праильно.

Есть две таблицы:

declare @t table(i int, n nvarchar(100), nn numeric(18,2))

insert into @t(i, n, nn)
select 1, 'a-aaa', 12.5
union
select 1, 'b-aaa', 13.5

declare @tt table(i int, v numeric(18,2))

insert into @tt(i, v)
select 1, 12.5



Их надо соединить по i так, чтобы одна запись из таблицы @tt присутствовала в итоговой выборке только один раз (т.е. если соединяем с какой-либо строкой из @t, то далее не соединяем, даже если в @t есть дубли по i).
Т.е. в результате надо получить что-то такое:

select 1 as [t.i],	'a-aaa' as [t.n],	12.50 as [t.nn],	1 as [tt.i],	12.50 as [tt.v] union select
1,	'b-aaa',	13.50,	null,	null


Как это изящнее сделать?
13 июн 13, 12:11    [14427425]     Ответить | Цитировать Сообщить модератору
 Re: выборка только одной строки подчиненной таблицы  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
select *
  from (select i, n, nn, row_number() over(order by i) as RN from @t) as T
  left join @tt as TT on TT.i = T.i and T.RN = 1
тестируйте
13 июн 13, 12:16    [14427478]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить