作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
给定两个表 ( count(Table1) <= count(Table2)
):
表 1:
record-1
record-2
...
record-k
表 2:
promo-1
promo-2
...
promo-j
是否可以将它们加入到下表中? IE。分配 Table1
中的每个条目Table2
中的一些条目, 但 Table1
中没有两个条目将对应于 Table2
中的相同条目.
结果:
record-1 promo-i1
record-2 promo-i2
...
record-n promo-in
最佳答案
您可以使用 rownum
伪列创建一个假 key ,并根据它加入:
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.rn
关于SQL - 没有键连接两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39551500/
我有 2 个表,它们的第一列都是 PRIMARY,这也是自动递增的。第一个表有 67 个条目,从 1 到 67,第二个表有 48 个条目。它们都有相同的列。我想从 Table2 中获取内容并将它们插入
我是一名优秀的程序员,十分优秀!