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

Откуда:
Сообщений: 3
Сразу оправдаюсь - искал не нашел!))

Проблем: есть 2 таблицы

таблица1
1. a,v1
2. b,v2

таблица2

1. c,v1
2. d,v1

надо объединить (левое соединение) по второму полю, но не так:
1. a,v1,c,v1
2. a,v1,d,v1
3. b,v2,null,null

а так:
1. a,v1,c,v1
3. b,v2,null,null

т.е. со второй таблицы взять только одну первую попавшуюся строку, для каждого совпадения
29 окт 13, 07:26    [15044136]     Ответить | Цитировать Сообщить модератору
 Re: Неполное объединение 2х таблиц  [new]
aleks2
Guest
Ты не обучен использованию row_number() over(partion by [второе поле] order by [первое поле])?
29 окт 13, 07:38    [15044153]     Ответить | Цитировать Сообщить модератору
 Re: Неполное объединение 2х таблиц  [new]
Tubric
Member

Откуда:
Сообщений: 3
Есть такое, знаю немного, наведите на мысль плиз, если можно примером.
29 окт 13, 07:45    [15044160]     Ответить | Цитировать Сообщить модератору
 Re: Неполное объединение 2х таблиц  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2385
Блог
Tubric,

Так Вас и навели на мысль. Вот еще одна наводка:
select t1.id, t1.v, t22.id, t22.v 
from tab1 t1 left join (select min(t2.id) as id, t2.v from tab2 t2 group by t2.v) tt2 on t1.v = tt2.v
29 окт 13, 08:03    [15044186]     Ответить | Цитировать Сообщить модератору
 Re: Неполное объединение 2х таблиц  [new]
LexusR
Member

Откуда: Novosibirsk
Сообщений: 1873
select top 1 with ties *
from таблица1 t1
left join таблица2 t2 on t2.field2 = t1.field2
order by ROW_NUMBER()over(partition by t1.field2 order by t1.field1)
29 окт 13, 08:15    [15044213]     Ответить | Цитировать Сообщить модератору
 Re: Неполное объединение 2х таблиц  [new]
Tubric
Member

Откуда:
Сообщений: 3
Ну вот, это уже другое дело, спасибо! Пойду че нить напишу в коде...
29 окт 13, 10:21    [15044940]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить