SQL将聚合列添加到base

时间:2018-03-13 16:37:56

标签: sql sql-server

我需要为每个组添加一个总计。我写了2个查询,但是我需要将第二个查询的结果添加到第一个查询中。

首先是:

SELECT     name_id
         , take
         , id_user
FROM       ((Proizv
             INNER JOIN Izdan
                     ON Proizv.id = Izdan.id_proizv)
            INNER JOIN Exzemp
                    ON Izdan.id = Exzemp.id_izdan)
INNER JOIN log
        ON Exzemp.id = log.id_exzemp
WHERE      take IN ( SELECT TOP 2 take
                     FROM   log AS s
                     WHERE  s.id_user = log.id_user
                     ORDER  BY take DESC ); 

我从每组中最新两例。

第二个是:

SELECT     COUNT(name_id) AS cname
         , name_id
FROM       ((Proizv
             INNER JOIN Izdan
                     ON Proizv.id = Izdan.id_proizv)
            INNER JOIN Exzemp
                    ON Izdan.id = Exzemp.id_izdan)
INNER JOIN log
        ON Exzemp.id = log.id_exzemp
GROUP      BY name_id; 

在那里我采用聚合列,我想通过name_id添加到第一个表的结果中(初始表是相同的)。

当我尝试加入它们时,我收到了错误。

任何人都可以帮忙吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

你可以这样做:

map