在连接表中使用计数和分组依据?

问题描述 投票:0回答:1

这是我的查询,我想添加“ OFID的SalID组数”并将结果存储在同一表中。

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

但是我有一条错误消息。有什么帮助吗?

sql sql-server group-by count store
1个回答
0
投票

我认为您需要窗口功能:

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

© www.soinside.com 2019 - 2024. All rights reserved.