2013-08-26 13 views
-1

Рассмотрим два столбца: col_1 и col_2, первый от table_1 и второй от table_2 (типы данных обоих столбцов одинаковы).Умножение столбцов в SQL

мне нужно умножить 1-й ряд col_1 к 1-й строке col_2, 2-й ряд col_1 на 2-й ряд col_2 и так далее.

Результат должен быть сохранен в col_3 (любой из приведенных таблиц) соответствующей строкой.

Например:

http://i.stack.imgur.com/rd7zW.png

Поэтому, пожалуйста, предложить мне, что запрос нужно написать.

+1

Есть ли какие-либо клавиши, которые определяют отношения между строками таблицы? Другими словами, есть ли столбец идентификатора в таблице_1, который соответствует таблице_2? –

+0

Нет никаких ключей, Stuart –

+0

Хорошо, что таблица 1 и таблица 2 относятся друг к другу в любых полях, даже из этих полей не являются ключами? в противном случае, как я знаю, столбец 1, строка 1 соответствует таблице 2, строка 1, а не строка 3, потому что в первой таблице были удалены строки один и два? – xQbert

ответ

0
INSERT INTO table_3 (col_1) 
SELECT a.col_1 * b.col_1 
FROM table_1 a 
INNER JOIN table_2 b 
ON a.id = b.id; 

EDIT:

Если в table_1, то вы можете просто обновить col_3:

UPDATE table_1 
    SET col_3 = a.col_1 * b.col_1 
    FROM table_1 a 
    INNER JOIN table_2 b 
    ON a.id = b.id; 

Что касается порядка, это не имеет значения, потому что оно совпадает с идентификатором строки независимо.

Обновлено SQLFiddle: http://sqlfiddle.com/#!3/605da/4

+0

IF Col_3 имеет Table_1, то? –

+0

А также, предположим, что если идентификатор не находится в восходящем или нисходящем порядке в таблице_2, но в таблице_1 он находится в порядке возрастания. –

+0

Его сработало спасибо Чаду –

0

Вы можете поместить встроенную математику в инструкцию SELECT, чтобы выполнить это. Если у вас есть столбец ID совпасть таблицы два источника:

SELECT Table1.Col1, Table2.Col2, (Table1.Col1 * Table2.Col2) AS 'Col3' 
FROM Table1 
INNER JOIN Table2 ON Table1.ID = Table2.ID 
+0

Но мне нужно заполнить col_3 также –

+0

Пусть Col_3 находится в таблице_1, и он пуст. –

Смежные вопросы