SQL中的列乘法

时间:2013-08-26 18:17:24

标签: sql-server-2008

考虑两列col_1col_2,第一列来自table_1,第二列来自table_2(两列的数据类型相同)。

我需要将col_1的第一行乘以col_2的第一行,将col_1的第二行乘以col_2的第二行,依此类推。

结果应存储在相应行的col_3(给定的任何表格中)中。

例如:

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

所以请建议我需要写什么查询。

2 个答案:

答案 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