我有一个如下表结构:
表名: 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
现在我想将输出显示为:
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。
答案 0 :(得分:2)
SQL Server没有任何东西(据我所知)可以转向动态数量的列。
此外,您会发现不同的列需要不同的名称,因此需要一种动态命名列的机制。
你可能得到的最接近的是编写一些编写SQL然后执行它的SQL。我当然不想走那条路。
在我看来,更好的方法是在您的客户端中转移数据。作为一般原则,我尝试不处理SQL Server上的格式化/布局/表示问题。我发现最好只是确保提供的结果提供完整,准确和一致的信息,以便使应用程序能够按照自己的意愿行事。
(这使得您的SQL能够以与其使用无关的方式与数据相关。这意味着对应用程序的更改不太可能需要更改SQL。)