SQL Server 2008
我有很多问题q,每个问题可以有几个答案a。
declare @table table (
q tinyint,
a tinyint
)
insert into @table values (1,1),
(1,2),
(2,1),
(3,1),
(3,2),
(3,3)
是否有一个查询可以返回一组问题的所有答案排列?
例如,如果问题集是 1 和 3,那么我需要如何一起回答问题 1 和 3 的所有排列。第一个问题(问题 1)可以用两种方式回答,第二个问题(问题 3)可以用三种方式回答。因此,结果集将是(第一列只是对答案集进行分组):
s1,1,1
s1,3,1
s2,1,1
s2,3,2
s3,1,1
s3,3,3
s4,1,2
s4,3,1
s5,1,2
s5,3,2
s6,1,2
s6,3,3
输入的问题列表是动态的,即它可以是整个问题列表的任何子集。问题的数量和每个问题的答案数量也是动态的,即提前未知。
谢谢!