2013-06-25 123 views
0

我有一个表格,第一格式如下。我想要第二种格式的输出。帮助表示赞赏。谢谢!生成所需的输出

UserID IsManagerFeedback Level 
--------------------------------- 
User 1 FALSE    2 
User 2 FALSE    3 
User 5 FALSE    2 
User 1 TRUE     4 
User 3 TRUE     1 
User 4 TRUE     3 
User 5 TRUE     5 




UserID UserFeedback ManagerFeedback 
--------------------------------------- 
User 1 2    4 
User 2 3    NA 
User 3 NA    1 
User 4 NA    3 
User 5 2    5 
+0

很抱歉的格式,因为我有一个很老的浏览器在机器 – Saksham

回答

1
SELECT 
UserID, 
MAX(CASE WHEN IsManagerFeedback = 'FALSE' THEN Level END) AS UserFeedback, 
MAX(CASE WHEN IsManagerFeedback = 'TRUE' THEN Level END) AS ManagerFeedback 
FROM 
Table1 
GROUP BY UserID 

看到它在sqlfiddle带电作业。

UPDATE:

SELECT 
Year, 
UserID, 
MAX(CASE WHEN IsManagerFeedback = 'FALSE' THEN Level END) AS UserFeedback, 
MAX(CASE WHEN IsManagerFeedback = 'TRUE' THEN Level END) AS ManagerFeedback 
FROM 
Table1 
GROUP BY Year, UserID 
+0

非常感谢tombom! – Saksham

+0

如果我有另一个列以及我需要显示的年份,可以解决什么问题? – Saksham

+0

@Saksham查看最新答案。喜欢这个? – fancyPants