给定两个表(count(Table1) <= count(Table2)):
Table1:
record-1
record-2
...
record-kTable2:
promo-1
promo-2
...
promo-j能把他们加入下表吗?也就是说,在Table1中为每个条目分配一些Table2中的条目,但是Table1中的任何两个条目都不对应于Table2中的相同条目。
结果:
record-1 promo-i1
record-2 promo-i2
...
record-n promo-in发布于 2016-09-17 20:41:24
您可以使用rownum伪列创建一个假键,并根据这一点进行连接:
SELECT t1.col1, t2.col2
FROM (SELECT col1, ROWNUM AS rn
FROM table1
ORDER BY col1) t1
JOIN (SELECT col2, ROWNUM AS rn
FROM table2
ORDER BY col2) t2 ON t1.rn = t2.rn编辑:
一种稍微“笨重”、但更适合ANSI的方法是使用ROW_NUMBER()窗口函数:
SELECT t1.col1, t2.col2
FROM (SELECT col1, ROW_NUMBER() OVER (ORDER BY col1) AS rn
FROM table1) t1
JOIN (SELECT col2, ROW_NUMBER() OVER (ORDER BY col2) AS rn
FROM table2) t2 ON t1.rn = t2.rnhttps://stackoverflow.com/questions/39551500
复制相似问题