Saksham
Saksham

Reputation: 9380

Generate required output

I have a table in first format given below. I want the output in second format. Help is appreciated. Thanks!

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

Upvotes: 0

Views: 40

Answers (1)

fancyPants
fancyPants

Reputation: 51888

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

See it working live in an 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

Upvotes: 1

Related Questions