0
extrim-style
26.11.15
✎
15:40
|
Кратко. Имеются 2 таблицы А(x,y), таблица B(x,z). Колонка x - одинаковая. Необходимо соединить таблицы в одну независимо. Для каждого значения x: если количество(y)>количество(z) - продлить колонку z последним значением y, и наоборот - если количество(z)>количество(y) - продлить колонку y последним значением z. Тип данных - строка.
Упрощенный пример (дополнять нужно именно последним, а не максимальным):
таблица А:
1 11
2 21
2 22
3 31
3 32
3 33
3 34
таблица B
1 111
2 121
2 122
2 123
2 124
3 131
3 132
Итоговая таблица:
1 11 111
2 21 121
2 22 122
2 22 123
2 22 124
3 31 131
3 32 132
3 33 132
3 33 132
Исходный запрос для примера:
if object_id('tempdb..#tbtest1') is not null drop table #tbtest1
if object_id('tempdb..#tbtest2') is not null drop table #tbtest2
select 1 as x,11 as y
into #tbtest1
union all
select 2,21
union all
select 2,22
union all
select 3,31
union all
select 3,32
union all
select 3,33
union all
select 3,34
select 1 as x,111 as z
into #tbtest2
union all
select 2,121
union all
select 2,122
union all
select 2,123
union all
select 2,124
union all
select 3,131
union all
select 3,132
select * from #tbtest1
select * from #tbtest2
|
|
7
Записьдампа
26.11.15
✎
18:09
|
(5) Если у тебя там ссылки, то надо вводить дополнительный столбец для сортировки - тот самый "номер строки". Понятие "Последний", по которому ты хочешь дополнять, подразумевает упорядоченность.
Переформулируй задачу как-нибудь =)
|
|