2017-05-18 87 views
0

我在sql數據庫中有2列是整數(在單獨的表中),我將簡化我的問題來解釋。我不得不復制在SQL中的excel中做了什麼,不知道如何去做。在基本術語中,我必須循環遍歷所有表中的所有表,然後將第二行中的第一條記錄乘以第二行,依此類推。建立一張桌子。我不知道如何做到這一點有沒有人有任何想法?下面的例子。基於循環遍歷2列並相乘創建計算結果集

Column A:| Column B: 
12  | 36 
24  | 89 
26  

結果輸出應的表等:

A | B 
432 | 1068 
864 | 2136 
936 | 2314 

所以36已經被乘以12,24隨後26以創建第一列,然後89乘以12,24隨後26創建第二列等 真實列有400+行要乘以所以結果是一個巨大的表,我怎麼做這個循環和添加列來建立一個計算表。希望這是有道理的,任何幫助將不勝感激。

+0

我不理解你。您可以在「代碼示例」塊中發送代碼,還是附上屏幕截圖? – inon

+0

您正在使用哪些DBMS? Postgres的?甲骨文? –

+0

我想我已經用交叉連接對它進行了排序,不能相信它很簡單! –

回答

0

因爲我不知道你的數據庫看起來像這裏是一個通用的代碼,可以爲你工作。

select tableA.colA, tableB.colb, (tableA.colA*tableB.colB) as colC 
from tableA 
join tableB (on ... if there is something to join on). 

這會給你三列,但兩個原始列和第三個乘法列。你可以當然刪除colA和colB如果你不需要他們,他們只是作爲參考。

這段代碼應該在大多數sql語言中工作。

+0

這裏不需要加入。簡單地去 'select table1.colA,table2.colB,table1.colA * table2.colB作爲table1的結果,table2'會給出提及的輸出。 –

+0

@Rik Sportel:好點。謝謝。 – Sourcery

0

非常感謝您的幫助,我整理了交叉加入的問題