Получить общее количество - PullRequest
0 голосов
/ 17 января 2020

Я хочу объединить два столбца (Отправитель и Получатель) и получить счетчик Тип транзакции, затем объединить другую таблицу с использованием первичного идентификатора Sender_Receiver.

Sender      Receiver  Type  Amount  Date
773787639   777611388   1   300    2/1/2019
773631898   776806843   4   450    8/20/2019
773761571   777019819   6   369    2/11/2019
774295511   777084440   34  1000   1/22/2019
774263079   776816905   45  678    6/27/2019
774386894   777202863   12  2678   2/10/2019
773671537   777545555   14  38934  9/29/2019
774288117   777035194   18  21     4/22/2019
774242382   777132939   21  1275    9/30/2019
774144715   777049859   30  6309    7/4/2019
773911674   776938987   10  3528    5/1/2019
773397863   777548054   15  35892   7/6/2019
776816905   772345091   6   1234    7/7/2019
777035194   775623065   4   453454  7/20/2019

Вторая таблица

Mobile_number     Age
773787639         34
773787632         23
774288117         65

Я пытаюсь получить такой стол

Sender/Receiver    Type_1    Type_4    Type_12...... Type_45   Age
773787639            3          2         0            0       23
773631898            1          0         1            2       56
773397863            2          2         0            0       65
772345091            1          1         0            3       32

1 Ответ

1 голос
/ 17 января 2020

Хорошо, я видел ваш старый вопрос, и вам просто нужно inner join в sub-query, как показано ниже:

SELECT
    SenderReceiver,
    COUNT(CASE WHEN Type = 1 THEN 1 END) AS Type_1,
    COUNT(CASE WHEN Type = 2 THEN 1 END) AS Type_2,
    COUNT(CASE WHEN Type = 3 THEN 1 END) AS Type_3,
    ...
    COUNT(CASE WHEN Type = 45 THEN 1 END) AS Type_45,
    Age -- changes here
FROM
(   SELECT sr.SenderReceiver, sr.Type, st.Age from -- changes here
    (SELECT Sender AS SenderReceiver, Type FROM yourTable
    UNION ALL
    SELECT Receiver, Type FROM yourTable) sr
    join <second_table> st on st.Mobile_number = sr.SenderReceiver -- changes here
) t
GROUP BY
    SenderReceiver,
    Age; -- changes here

Изменения, сделанные в предыдущем запросе, помечены комментариями -- changes here.

Пожалуйста, замените имя <second_table> на оригинальное имя таблицы.

Приветствия !!

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