Использовать количество и группировать в таблице соединений? - PullRequest
0 голосов
/ 30 марта 2020

Вот мой запрос, и я хочу добавить «счетчик группы SalID по OFID» и сохранить результат в той же таблице.

SELECT
    T_OF.OFID,
    T_OF.OFDateDPrev, T_OF.OFDateFPrev,
    T_OF_User.OFUserID,
    T_OF_User.SalID
INTO T_tracing
FROM T_OF
INNER JOIN T_OF_User
    ON T_OF_User.OFID = T_OF.OFID

Я пробовал это:

SELECT
    T_OF.OFID,
    T_OF.OFDateDPrev, T_OF.OFDateFPrev,
    T_OF_User.OFUserID,
    Count (SalID) FROM T_OF_User GROUP BY OFID
INTO T_tracing
FROM T_OF
INNER JOIN T_OF_User
    ON T_OF_User.OFID = T_OF.OFID

Но у меня есть сообщение об ошибке. Любая помощь, пожалуйста?

1 Ответ

2 голосов
/ 30 марта 2020

Я думаю, вам нужна оконная функция:

SELECT T_OF.OFID, T_OF.OFDateDPrev, T_OF.OFDateFPrev, T_OF_User.OFUserID,
       Count(SalID) OVER (PARTITION BY T_OF.OFID) as cnt
INTO T_tracing
FROM T_OF JOIN
     T_OF_User
     ON T_OF_User.OFID = T_OF.OFID;

Вам также нужно дать результату выражения имя для T_Tracing.

...