2017-05-18 41 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

非常感谢您的帮助,我整理了交叉加入的问题