2017-06-06 10 views
-1

2つの列を持つテーブルを作成し、2つの異なるテーブル の列にデータを挿入したいとします。私はソーステーブルのクロス積を生成するクエリを使用しています。以下異なるテーブルの列データを持つテーブル

クエリ: -

create table test 
as 
select a.offer_id as offer_id,b.poid as poid 
from (select distinct offer_id from table1 limit 5) a, (select distinct poid from table2 limit 5) b; 

外積を回避する方法。

+0

を、あなたのテーブルのcorss製品は、実際に各可能な組み合わせであるため、これは25 –

+2

として来ています2つの行、各テーブルから1つ。共通の値に基づいて特定の行を結合することができます。その場合は、代わりにJOINを使用してください。 – michip96

+0

テーブル構造を共有していただけますか? –

答えて

0

私はあなたがこのような何かしたい疑い:私は5のように行の合計がないことを期待

select a.offer_id as offer_id, b.poid as poid 
from (select offer_id, row_number() over (order by rand()) as seqnum 
     from (select distinct offer_id from table1 limit 5) a 
    ) a join 
    (select poid, row_number() over (order by rand()) as seqnum 
     from (select distinct poid from table2 limit 5) b 
    ) b 
    on a.seqnum = b.seqnum; 
関連する問題