2017-05-18 12 views
0

SQLデータベースに2つのカラムがあります(別々のテーブルにあります)。説明するために問題を簡略化します。私はSQLで習得したことを複製しなければならないし、それを行う方法を知らない。基本的に言えば、2つ目のテーブルの最初のレコードと2番目のテーブルのすべてのレコードを乗算して1つのテーブル全体をループする必要があります。テーブルを構築する。私はこれを行う方法を知らない誰もがアイデアを持っていますか?以下の例。2列をループして乗算して計算結果セットを作成する

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

テーブルは次のようにすべきである結果出力:そのように36を12で乗算された

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

、24 26の最初の列を作成し、12を乗じ、その後89、24、次に26作成します2列目など 現実列には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). 

これは、3つの列、元の2つの列と3番目の乗算された列を示します。 colAとcolBを削除してもかまいませんが、必要がない場合は参考のためにそこにあります。

このコードは、ほとんどのSQL言語で動作するはずです。

+0

ここでは参加は必要ありません。単に 'table1.colA、table2.colB、table1.colA * table2.colBをtable1、table2からの結果として選択すると、上記の出力が得られます。 –

+0

@Rik Sportel:良い点。ありがとう。 – Sourcery

0

多くのお手伝いをしていただきありがとうございます。私はクロス結合の問題を解決しました。

関連する問題