我在寻找交叉连接吗?

时间:2019-07-31 07:00:20

标签: sql sql-server

如果我有两个表:

id_table     entry_table
--------     -----------
 [Id]         [entries]
  1             a
  2             b
  3             c
  4             d
  5             

有没有办法将结果选择到我得到的另一个表中?

select_results
--------------
[Id] [entries]
1     a
2     b
3     c

我正在尝试

Select top 3 * from id_table, entry_table

反之亦然,但这给出了:

1  a
1  b
1  c

这两个表应该具有相同数量的条目,但是我正在使用“ top 3”来查看是否可能。

也许我需要使用where子句进行交叉联接?

2 个答案:

答案 0 :(得分:2)

您可以使用row_number(),然后使用加入

select a.*,b.* from
(select *,row_number() over(order by Id) rn1
from id_table
)  a  
join     
(select *,row_number() over(order by entries) rn1
from entry_table
) b on a.rn=b.rn1

答案 1 :(得分:1)

或者,您可以将input窗口分析功能与row_number()关键字一起使用

top

Demo