преобразование в Pivot в SQL - PullRequest
       43

преобразование в Pivot в SQL

0 голосов
/ 07 октября 2018

Ниже приведен краткий обзор имеющихся у меня данных (эти данные проходят через миллионы строк в год).Это может быть связано с несколькими банками в этом году.Или жестяная банка может быть связана с ptin в течение t года, но может измениться на другую ptin в год t + 1.Я знаю, что есть функция pivot в SQL (или iSQL).Я просто не знаю, как его использовать.

   ptin tin year
0   12  12  2001
1   23  23  2002
2   28  24  2005
3   22  28  2002
4   12  30  2004
5   12  12  1999
6   0   7   1999
7   12  12  1999
8   12  12  2012
9   23  23  2000
10  27  24  2010
11  45  7   2005
12  99  12  2006
13  7   35  2009
14  7   39  2009
15  7   37  2009
16  7   36  2009
17  0   333 2010
18  17  13  2007
19  21  13  2008
20  26  13  2009
21  18  13  2010
22  0   7   2000
23  18  7   2001
24  19  7   2002

Я пытаюсь преобразовать данные в следующий формат (я создал это, используя функцию pivot в пандах).Но у панд ограниченная мощность по сравнению с sql:

    ptin    0   7   12  17  18  19  21  22  23  26  27  28  45  99
tin year                                                        
7   1999    1   0   0   0   0   0   0   0   0   0   0   0   0   0
    2000    1   0   0   0   0   0   0   0   0   0   0   0   0   0
    2001    0   0   0   0   1   0   0   0   0   0   0   0   0   0
    2002    0   0   0   0   0   1   0   0   0   0   0   0   0   0
    2005    0   0   0   0   0   0   0   0   0   0   0   0   1   0
12  1999    0   0   2   0   0   0   0   0   0   0   0   0   0   0
    2001    0   0   1   0   0   0   0   0   0   0   0   0   0   0
    2006    0   0   0   0   0   0   0   0   0   0   0   0   0   1
    2012    0   0   1   0   0   0   0   0   0   0   0   0   0   0
13  2007    0   0   0   1   0   0   0   0   0   0   0   0   0   0
    2008    0   0   0   0   0   0   1   0   0   0   0   0   0   0
    2009    0   0   0   0   0   0   0   0   0   1   0   0   0   0
    2010    0   0   0   0   1   0   0   0   0   0   0   0   0   0
23  2000    0   0   0   0   0   0   0   0   1   0   0   0   0   0
    2002    0   0   0   0   0   0   0   0   1   0   0   0   0   0
24  2005    0   0   0   0   0   0   0   0   0   0   0   1   0   0
    2010    0   0   0   0   0   0   0   0   0   0   1   0   0   0
28  2002    0   0   0   0   0   0   0   1   0   0   0   0   0   0
30  2004    0   0   1   0   0   0   0   0   0   0   0   0   0   0
35  2009    0   1   0   0   0   0   0   0   0   0   0   0   0   0
36  2009    0   1   0   0   0   0   0   0   0   0   0   0   0   0
37  2009    0   1   0   0   0   0   0   0   0   0   0   0   0   0
39  2009    0   1   0   0   0   0   0   0   0   0   0   0   0   0
333 2010    1   0   0   0   0   0   0   0   0   0   0   0   0   0

Как мне создать эту матрицу в sql (или конкретно в isql)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...