假设我在SQL Server 2008表或[table] -typed变量中有一些数据:
author_id review_id question_id answer_id
88540 99001 1 719
88540 99001 2 720
88540 99001 3 721
88540 99001 4 722
88540 99001 5 723
36414 24336 1 302
36414 24336 2 303
36414 24336 3 304
36414 24336 4 305
36414 24336 5 306
Run Code Online (Sandbox Code Playgroud)
我想检索数据作为结果集,如下所示:
author_id review_id 1 2 3 4 5
88540 99001 719 720 721 722 723
36414 24336 302 303 304 305 306
Run Code Online (Sandbox Code Playgroud)
我怀疑PIVOT操作符是我需要的(根据这篇文章,无论如何),但我无法弄清楚如何开始,特别是当表中的question_id行数可以变化时.在上面的示例中,它是5,但在另一个查询中,该表可能会填充7个不同的问题.
我有3张桌子.
1 - 学生
| student_code | name |
--------------------------
| 1 | katia |
| 2 | roger |
| 3 | ken |
Run Code Online (Sandbox Code Playgroud)
2 - 问题
| question_code| question |
----------------------------------
| 1 | father' name |
| 2 | favorite fruit |
| 3 | first teacher |
Run Code Online (Sandbox Code Playgroud)
3 - 答案
| student_code | question_code | answer |
-------------------------------------------
| 1 | 1 | katia |
| 1 | 2 | banana |
| 2 | 1 …
Run Code Online (Sandbox Code Playgroud)