【发布时间】:2013-11-26 09:10:38
【问题描述】:
我有以下数据但不知道之前表格的内容
courses table
-------------
id | name
-------------
7 | math
99 | geology
4 | ethics
5 | sports
33 | english
29 | math boot camp
我需要输出为
course1_id | course1_name | course2_id | course2_name | course3_id | course3_name
7 | math | 99 | geology | 4 | ethics
SQLFiddle demo
我试过了
select case when id = 7 then id end as course1_id,
case when id = 7 then name end as course1_name
from courses
但这会返回多行而不是一行,因为我不知道id,所以我不能使用这种方法。有什么想法吗?
【问题讨论】:
-
这个是什么意思但是不知道之前表格的内容
-
ids 可以是任何东西,我不知道可能的课程名称。也可以是任何东西。 -
刚看到编辑,课程的顺序是什么?即为什么是地质学课程 2,伦理学课程是 3?
-
@GarethD:顺序无关紧要。我想输出所有课程。我只是将示例输出减少到 3 以避免滚动。
标签: sql sql-server sql-server-2008 pivot