考慮兩列col_1
和col_2
,第一個來自table_1
,第二個來自table_2
(兩列的數據類型相同)。SQL中的列乘法
我需要將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
(兩列的數據類型相同)。SQL中的列乘法
我需要將col_1
的第一行乘以col_2
的第一行,將第二行的col_1
乘以col_2
的第二行等等。
結果應存儲在col_3
(給出的任何表格)各自的行中。
例如:
http://i.stack.imgur.com/rd7zW.png
所以,請給我建議,我需要寫什麼查詢。
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
如果Col_3是Table_1的呢? –
另外,假設如果ID在table_2中不是升序或降序,而是在table_1中升序排列。 –
其工作感謝你乍得 –
您可以在SELECT語句中放入內聯數學來完成此操作。假設你有一個ID列,以匹配兩個源表:
SELECT Table1.Col1, Table2.Col2, (Table1.Col1 * Table2.Col2) AS 'Col3'
FROM Table1
INNER JOIN Table2 ON Table1.ID = Table2.ID
但是我還需要填寫col_3 –
讓Col_3在table_1中,它是空白的。 –
是否有其定義錶行之間的關係的任何鍵?換句話說,table_1中是否有與table_2對應的ID列? –
沒有任何鑰匙,斯圖爾特 –
好的表1和表2與任何領域上的彼此相關,甚至那些領域都不是鑰匙?否則我怎麼知道表1行1匹配表2行1而不是行3,因爲表1有行1和2刪除? – xQbert