【发布时间】:2010-11-15 17:02:47
【问题描述】:
考虑下表
create table sample(id, name, numeric, qno, ans1,ans2,ans3)
sample data
1, 'vivek', 1, 'a', 'b', ''
2, 'vivek', 1, 'c', 'd', ''
3, 'vivek', 2, 'e', 'f', 'g'
4, 'vivek', 3, 'h', 'i', 'j'
5, 'vijay', 1, 'k', '', 'l'
6, 'vijay', 2, 'm', '', 'n'
7, 'vijay', 2, 'o', '', 'p'
8, 'vikram', 3, 'q', 'r', 's'
output expected
column Names: name, info1, info2, info3
values
'vivek','ab','ef','hij'
'vivek','cd','',''
'vijay','kl', 'mn',''
'vijay','','op',''
'vikram','','','qrs'
将行转换为列。
换句话说。一个答案将有一排。一个问题可以有多个答案。
输出应该有答案数字作为列。
sql 2000有什么快速简单的技巧吗?
【问题讨论】:
-
标准是什么?例如,为什么 abc,abc 错过了?
-
抱歉给您带来了困惑。我编辑了这个问题。
-
@Vivek - 问题和预期的答案仍然没有明确的意义。您能否正确查看您的问题并进行编辑。
-
表的结构和值是正确的。要求是生成一个以答案为列的 csv 文件。但在表格中,每个问题都会有一行。输出中的行数将等于问题的最大答案数。例如:如果 qno1 有 10 个答案,则 qno2 有 2 个,而 qno 3 有 8 个答案。输出中的总行数将为 10。
-
表格示例中的列数(7 列)与您的示例数据(6 列)不匹配。除此之外,很难推断出预期输出背后的逻辑——请描述你想要实现的目标。
标签: sql sql-server tsql sql-server-2000 pivot