Data is
| ID | Name | TopNotch | Date |
| ------------ | ------------ | ------------ | ------------ |
| 100 | Dewey | 10 | 2011-01-01 |
| 100 | Dewey | 9 | 2011-01-02 |
| 102 | Huey | 8 | 2022-01-13 |
| 102 | Huey | 6 | 2022-02-13 |
| 102 | Huey | 4 | 2022-03-13 |
| 103 | Louie | 11 | 2012-08-10 |
| 103 | Louie | 12 | 2012-09-10 |
| 103 | Louie | 13 | 2012-10-10 |
Data should be organized horizontally, Goal:
ID | Name | TopNotch1 | Date1 | TopNotch2 | Date2 | TopNotch3 | Date3 |
---|---|---|---|---|---|---|---|
1 | Dewey | 10 | 2011-01-01 | 9 | 2011-01-02 | ||
2 | Huey | 8 | 2022-01-13 | 6 | 2022-02-13 | 4 | 2022-03-13 |
3 | Louie | 11 | 2012-08-10 | 12 | 2012-09-10 | 13 | 2012-10-10 |
Help.
2条答案
按热度按时间vxqlmq5t1#
It's probably not the best approach, but it may help you find a solution to your problem. The idea is to
UNPIVOT
theNetSum
,Tax
,Date
columns (with the appropriate datatype cast) and after thatPIVOT
the result.Data:
Statement:
Result:
0kjbasz62#
I don't think you need such a complicated solution like the other answer.
You just need to assign a row-number, then do a manual pivot using
MAX(CASE
db<>fiddle