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

Откуда: Тольятти
Сообщений: 117
Здравствуйте. БД - MS SQL 2008
Проблема такая - у меня есть два столбца в разных таблицах одинаквого размера N как мне написать вьюху, где бы перемножались их строки с одинаковыми индексами, т.е. получилась бы вьюха Nx1, где в 1й строке было значение 1йстроки 1столбца х 1 строку 2го столбца, во второй - 2 стр 1 столбца х 2 стр 2го столбца .... в N строке - N стр 1таб х N стр 2таб.
Аналогичный вопрос, если бы был столбец и строка. На выходе - столбец Nx1 где были бы "диагональные" значения, таблицы NxN
Зарание благодарю
2 ноя 09, 12:17    [7870081]     Ответить | Цитировать Сообщить модератору
 Re: перемножение столбцов  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Приведите, пожалуйста, примеры тестовых данных
(очень желательно в виде скриптов создания и заполнения таблиц)
и примеры желаемого результата
2 ноя 09, 12:19    [7870109]     Ответить | Цитировать Сообщить модератору
 Re: перемножение столбцов  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Паганель
Приведите, пожалуйста, примеры тестовых данных
(очень желательно в виде скриптов создания и заполнения таблиц)
и примеры желаемого результата
+ объяснение понятия "1-я строка"
2 ноя 09, 12:24    [7870154]     Ответить | Цитировать Сообщить модератору
 Re: перемножение столбцов  [new]
DENIS_CHEL
Member

Откуда:
Сообщений: 23097
DECLARE @t0 TABLE ([a] int) 
DECLARE @t1 TABLE ([b] int) 

INSERT INTO @t0([a])
SELECT 1 UNION ALL
SELECT 2 UNION ALL
SELECT 3 

INSERT INTO @t1([b])
SELECT 4 UNION ALL
SELECT 5 UNION ALL
SELECT 6 

SELECT t0.a*t1.b FROM (SELECT ROW_NUMBER()OVER(ORDER BY a)N,a FROM @t0 )AS t0
INNER JOIN (SELECT ROW_NUMBER()OVER(ORDER BY b)N,b FROM @t1)AS t1 ON t0.N=t1.N

ТС вы хотели, что-то вроде этого?

---------------------------------------------------------
- Ну вы тут и нафлудили! - сказал Геракл, зайдя на Авгиев форум..
2 ноя 09, 12:54    [7870463]     Ответить | Цитировать Сообщить модератору
 Re: перемножение столбцов  [new]
Денис Г.
Member

Откуда: Тольятти
Сообщений: 117
Извиняюсь, что непонятный пример написал.
Например, две таблицы
tab 1:
id | val1
0 | 0
1 | 2
2 | 4
3 | 6

tab 2:
n | val2
a | 1
b | 3
c | 5
d | 7

То что должно получиться:
val 3
0
6
20
42

0 = 0*1, 6 = 2*3, 20 = 4*5, 42 = 6*7

Вот и хотел бы узнать как можно написать такую вьюху.
2 ноя 09, 12:56    [7870486]     Ответить | Цитировать Сообщить модератору
 Re: перемножение столбцов  [new]
Денис Г.
Member

Откуда: Тольятти
Сообщений: 117
2 DENIS_CHEL
Да, спасибо, типа того)) Сейчас попробую разобраться.
2 ноя 09, 12:59    [7870515]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить