TSQL - 求和联合查询

Mal*_*olm 18 t-sql sql-server

我在存储过程中有一个union all查询.

我想做的是Sum a column并将该查询返回给客户端

我该怎么做?

马尔科姆

gbn*_*gbn 36

SELECT
    othercol1, othercol2,
    SUM(bar)
FROM
    (
    SELECT
       othercol1, othercol2, bar
    FROM
       RT
    UNION ALL
    SELECT
       othercol1, othercol2, bar
    FROM
       FM
    ) foo
GROUP BY
    othercol1, othercol2
Run Code Online (Sandbox Code Playgroud)

  • 在任何**情况下,在外部查询中再次从内部子查询和SUM再次选择`othercol1,othercol2,SUM(bar)`而不是`othercol1,othercol2,bar`是否更好,例如,如果返回的行是太多,即数千或数百万?或者内部查询中的SUM()在任何情况下都不会更好? (2认同)

Joe*_*Joe 6

SELECT SUM(MyCol) FROM
(
SELECT ... MyCol FROM Table1
UNION ALL
SELECT ... MyCol FROM Table2
)as tbl
Run Code Online (Sandbox Code Playgroud)