2014-11-11 3 views
2

Как я могу сделать раунд на свертке, как я раунд или суммировать функцию?Как объединить свертку SQL-запроса?

ROUND(SUM(T.TICKET_PRICE),2) 

, например:

SELECT EmpId, Yr, SUM(Sales) AS Sales 
FROM Sales 
GROUP BY EmpId, Yr WITH ROLLUP 
+0

Вы пытаетесь объединиться только по объему свертывания или по всем значениям? – pyrospade

ответ

0

Самое лучшее, что я могу думать -

SELECT EmpId, Yr, 
     CASE WHEN EmpId IS NULL AND Yr IS NULL 
      THEN ROUND(SUM(Sales)) 
      ELSE SUM(Sales) 
     END AS Sales 
FROM Sales 
GROUP BY EmpId, Yr WITH ROLLUP 

К сожалению, это работает только надежно, если EmpId и Yr являются NOT NULL.

0

Положите накопительный пакет в подзапрос:

SELECT R.EmpID, R.Yr, ROUND(R.Sales,2) AS Sales 
FROM (
    SELECT EmpId, Yr, SUM(Sales) AS Sales 
    FROM Sales 
    GROUP BY EmpId, Yr WITH ROLLUP) R 
0

Вы были так близки, просто обернуть сумму с круглой функции.

SELECT EmpId, Yr, round(SUM(Sales),2) AS Sales 
FROM Sales 
GROUP BY EmpId, Yr 
Смежные вопросы