0
我有一个情况,我想用row_number()
是SQL Server在同一个表上的两个相关查询中取回唯一编号。问题是我没有一个列出现在两个查询中,我可以依靠它们是唯一的,尽管两个查询都是使用单列主键(我将在此称为pk)在同一个表上运行,相同的WHERE
条款。因此,两个查询的格式都是row_number()和按列排序不在结果中
SELECT row_number() OVER(ORDER BY table1.pk ASC) as my_id, .....
FROM table1, table2
WHERE table1.pk = table2.fk and ....
但table1.pk
只出现在其中一个查询的结果集中。我可以依靠这两个查询以相同的顺序返回行(相对于table1中的行)吗?如果不是,有人可以提出另一种方法吗?这些SELECT
是INSERT
语句的输入,所以对于结果列我没有很大的余地。