2011-05-03 74 views
2

我有一个表结构象下面这样:SQL关系来显示动态列

表名:questionsTable和日期被看起来像

qid  qName 
    1  Enter your licence number. 
    2  What is your favaorite sport. 
    3  Enter your attendee name 

另一个表名:tbl_Answer和数据看起来像

qid attendeeid Answer 
1  2349   45645645 
2  2349   Cricket 
3  2350   James 
2  2350   Chess 
1  2350   858585 

现在我要显示我输出t o看起来像这样:

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。

回答

2

SQL Server没有任何东西(据我所知)可以转换为动态数量的列。

此外,你会发现你需要不同列的不同名称,所以需要一个动态命名列的机制。


你可以得到最接近的是写一些SQL写入SQL和然后执行。我当然不想走那条路。

在我看来,更好的方法是将数据转移到客户端。作为一般原则,我尝试不处理SQL Server上的格式化/布局/演示文稿问题。我发现最好是确保提供的结果能够提供完整,准确和一致的信息,以便使应用程序能够按照自己的意愿进行操作。

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