考虑两列col_1
和col_2
,第一列来自table_1
,第二列来自table_2
(两列的数据类型相同)。
我需要将col_1
的第一行乘以col_2
的第一行,将col_1
的第二行乘以col_2
的第二行,依此类推。
结果应存储在相应行的col_3
(给定的任何表格中)中。
例如:
http://i.stack.imgur.com/rd7zW.png
所以请建议我需要写什么查询。
答案 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
答案 1 :(得分: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;
编辑:
如果它在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;
就顺序而言,这无关紧要,因为它与行ID无关。
更新了SQLFiddle:http://sqlfiddle.com/#!3/605da/4