我有一个简单的查询
SELECT Group, Value, NULL AS MONTH from tbl_A
Run Code Online (Sandbox Code Playgroud)
返回
Group Value Month
A 100 NULL
B 110 NULL
Run Code Online (Sandbox Code Playgroud)
我正在寻求回归的结果
Group Value Month
A 100 1
A 100 2
A 100 3
...
B 110 1
B 110 2
B 110 3
...
Run Code Online (Sandbox Code Playgroud)
换句话说,我需要能够定义值列表,并为定义的"月份"列表中的每个值重复每个结果行.它们实际上是日期,但为了清晰起见,我在这里使用了整数.
您可以使用VALUES子句来定义表值构造函数(TVC).然后CROSS APPLY为了获得所需的结果集:
SELECT [Group], Value, x.y AS MONTH
from tbl_A
CROSS APPLY (VALUES (1), (2), (3)) x(y)
Run Code Online (Sandbox Code Playgroud)