创建XML数据集的组合

时间:2018-07-11 04:54:59

标签: sql sql-server

我遇到了一个复杂的问题,下表定义了每个参数的可能值(以;分隔):

paramname   paramvalues
=====================================
p1          10;20;30;40;50;60;70;80;90;100;150;200
p2          yes;no
p3          apple;orange
p4          0.001;0.002;0.003;0.05;0.08;0.09;0.1;0.2
p5          1000;2000;5000;10000;20000
p6          10;20;50;100

因此,对于以上内容,我想为每个参数值组合创建一条记录。每条记录都将参数组合指定为XML,例如:

<data>
    <p1>12</p1>
    <p2>yes</p2>
    <p3>apple</p3>
    <p4>0.001</p4>
    <p5>1000</p5>
    <p6>50</p6>
</data>

因此,以上仅显示了可能的7680条记录中的一条记录(即12x2x2x8x5x4,这是以上所有可能的组合)

我想要一个可以在表var中创建这些记录的脚本,例如:

DECLARE @Data TABLE(combo xml)

请注意,paramname是动态的,因此不能在代码中硬编码<p1>, <p2>等。通过创建6个临时表,将参数加载为记录并进行一系列的LEFT JOINS,我已经能够手动执行此操作。但是,当然,这在这里行不通。

0 个答案:

没有答案