如何计算列成员数据库表的算术表达式?

Anu*_*thi 7 sql database select aggregate sql-server-2012

我有这个查询的结果

SELECT
    myTable.Branch AS Branch,
    myTable.Quarter AS Quarter,
    SUM(myTable.Sales) AS Sales
FROM
    myTable
GROUP BY
    myTable.Branch,
    myTable.Quarter

Branch  Quarter Sales
B1      Q1      17
B1      Q2      7
B1      Q3      1
B1      Q4      8
B1      Q5      12
B2      Q1      8
B2      Q2      5
B2      Q3      2
B2      Q4      14
B2      Q5      17
Run Code Online (Sandbox Code Playgroud)

现在我想得到计算成员让我们说Q1-Q3结果应该是这样的

Branch  Quarter     Sales
B1      Q1          17
B1      Q2          7
B1      Q3          1
B1      Q4          8
B1      Q5          12
B1      Q1-Q3       16
B2      Q1          8
B2      Q2          5
B2      Q3          2
B2      Q4          14
B2      Q5          17
B2      Q1-Q3       6
Run Code Online (Sandbox Code Playgroud)

表达式可以是任何有效的算术表达式 (Q1+Q2-Q3)*2

Sah*_*hah 0

尝试这个:

SELECT m.Branch, m.Quarter, m.Sales
FROM (SELECT m.Branch, m.Quarter, SUM(m.Sales) AS Sales
      FROM myTable m
      GROUP BY m.Branch, m.Quarter
      UNION 
      SELECT m.Branch, 'Q1+Q3' AS `Quarter`, SUM(m.Sales) AS Sales
      FROM myTable m 
      WHERE m.Quarter IN ('Q1', 'Q3')
      GROUP BY m.Branch
     ) AS m 
ORDER BY m.Branch, m.Quarter;
Run Code Online (Sandbox Code Playgroud)