考虑两列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
所以请建议我需要写什么查询。
考虑两列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
所以请建议我需要写什么查询。
您可以将内联数学放在 SELECT 语句中来完成此操作。假设您有一个 ID 列来匹配两个源表:
SELECT Table1.Col1, Table2.Col2, (Table1.Col1 * Table2.Col2) AS 'Col3'
FROM Table1
INNER JOIN Table2 ON Table1.ID = Table2.ID
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