2017-06-06 33 views
-1

我想創建兩列的表,並將數據插入到兩個不同表的列中。我正在使用生成源表的交叉產品的查詢。下面表與不同表中的列數據

查詢: -

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

我預計總沒有行的5,但它是未來的25 –

+2

這是因爲你的表的紹興德勝產品實際上是在每個可能的組合兩行,每個表一個。您可能想要根據公共值連接某些行。在這種情況下,您應該使用JOIN來代替。 – michip96

+0

你可以請分享表結構。 –

回答

0

我懷疑你想是這樣的:

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; 
相關問題