多个RadioButtonLists并插入SQL

时间:2016-10-03 15:58:03

标签: c# sql asp.net

我正在使用ASP.NET创建调查页面。它有关于radiobuttonlist(答案)的29个问题,目前按行存储。

原件:

EmpID | Q1 | Q2 | Q3 | ---> Q29
123   | 1  | 3  | 5  |

原始数据使用一个插入子句。

insert into response table (empid,q1,q2,q3 etc) values (@empid,@q1,@q2,@q3)

我想存储结果如:

EmpID | QNum | Result
123 | Q1 | 1
123 | Q2 | 3
123 | Q3 | 5

我是否需要创建单独的插入SQL子句,还是可以循环SQL以使其自动化?

我不介意编写多个插件但看起来效率很低。

insert into response table (empid,QNum,result) values (@empid, 'Q1', @q1)
insert into response table (empid,QNum,result) values (@empid, 'Q2', @q2)
etc etc

此致

尼尔

1 个答案:

答案 0 :(得分:2)

如果您使用的是MS SQL服务器,则应该可以使用UNPIVOT function

也许这样的事可能有用吗?

insert into response_table (empid, QNum, Result)
select empid,QNum,result
from (select @empid,@q1,@q2,@q3) p
UNPIVOT
(Result for QNum in ('Q1', 'Q2', 'Q3') ) as unpvt;

Oracle中也有类似的功能。

不幸的是,没有一个用于MySQL。