我有一张表格
CREATE TABLE [dbo].[table1](
[id] [bigint] IDENTITY(1,1) NOT NULL,
[clientid] [int] NULL,
[startdate] [int] NULL,
[copyid] [int] NULL
)
表中数据的形式为:
id clientid startdate copyid
1 4 11 1
2 4 12 1
3 4 44 2
3 5 123 1
4 5 15 1
5 5 12 2
6 5 12 2
7 5 12 2
copyid 是 clientid 的子集
我的问题是,我可以形成一个选择查询,它返回一个包含 N 行数的表,并且是 clientid 和 copyid 组合的副本,其中 copyid 递增。
例如,如果 clientid 为 4,copyid 为 1,N 为 6,它应该返回 6 行,如
clientid startdate copyid
4 11 3
4 12 3
4 11 4
4 12 4
4 11 5
4 12 5
N 将始终是客户端和副本组合的倍数
我知道如何使用循环来做到这一点。但是是否可以使用单个选择查询?