Asp.net 使用带/不带透视显示动态列的sql关系

Asp.net 使用带/不带透视显示动态列的sql关系,asp.net,sql,sql-server,sql-server-2005,Asp.net,Sql,Sql Server,Sql Server 2005,我的表格结构如下: 表名:questionsTable日期如下 qid qName 1 Enter your licence number. 2 What is your favaorite sport. 3 Enter your attendee name qid attendeeid Answer 1 2349 45645645 2 2349 Crick

我的表格结构如下:

表名:questionsTable日期如下

 qid      qName
  1        Enter your licence number.
  2        What is your favaorite sport.
  3        Enter your attendee name
qid    attendeeid    Answer
 1       2349         45645645
 2       2349         Cricket
 3       2350         James
 2       2350         Chess
 1       2350         858585
另一个表名:tbl_Answer,数据如下所示

 qid      qName
  1        Enter your licence number.
  2        What is your favaorite sport.
  3        Enter your attendee name
qid    attendeeid    Answer
 1       2349         45645645
 2       2349         Cricket
 3       2350         James
 2       2350         Chess
 1       2350         858585
现在我想显示我的输出,如下所示:

attendeeid   questionlable            answer     questionlable                 answer    questionlable          answer     
  2349        Enteryourlicencenumber  45645645   Whatisyourfavaoritesport      Cricket
  2350        Enteryourlicencenumber  858585     What is your favaorite sport  hockey   Enteryourattendeename  James

在这里,我想显示问题标签动态,因为在这里,我使用了3个qid示例。

SQL Server没有任何东西(据我所知)可以透视到动态数量的列

此外,您会发现不同的列需要不同的名称,因此需要一种动态命名列的机制


您可能能得到的最接近的方法是编写一些编写SQL的SQL,然后执行它。我当然不想走那条路

在我看来,更好的方法是将数据集中在客户机中。作为一般原则,我尽量不处理SQL Server上的格式化/布局/表示问题。我发现最好是简单地确保提供的结果提供完整、准确和一致的信息,以便使应用程序能够做它想做的事情

(这使您的SQL能够以一种不知道数据用途的方式处理数据。这意味着对应用程序的更改不太可能需要对SQL进行更改。)