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
问题的输入列表是动态的,即它可以是整个问题列表的任何子集。每个问题的问题数量和答案数量也是动态的,即提前未知。
谢谢!