2017-11-26 5 views
0

私はNOV_23という名前のテーブルを作成し、私は右端の部分の総和と交通、食事、宿泊施設、その他、付加価値税、および送料どのようにテーブルの合計を取得するには?

CREATE TABLE NOV_23 
(
EMPLOYEE_ID INT, 
DIVISION VARCHAR (25), 
LAST_NAME VARCHAR (25), 
FIRST_NAME VARCHAR (25), 
TRANSPORTATION INT, 
LODGING INT, 
TOTAL INT 
); 

のための合計を取得したい、私はいくつかを挿入私は私で、合計を取得することができます

Employee_ID Division Last_Name First_Name Transportation LODGING TOTAL 
    1    DivA  LNameA FNameA  1    1  
    2    DivA  LNameB FNameB  5    5 

:値

INSERT INTO NOV_23 VALUES    
('1','DivA','LName1','FName1','1','1','') 

INSERT INTO NOV_23 VALUES 
('2','DivA','LName2','FName2','5','5','') 

は、そこで私はその結果を取得します私が知りたいのは何

Employee_ID Division Last_Name First_Name Transportation LODGING   TOTAL 
    1    DivA  LNameA FNameA  1    1   2 
    2    DivA  LNameB FNameB  5    5   10 

は交通の合計を取得して表示する方法であると私は結果を得ることが可能な更新

UPDATE NOV_23 
    SET TOTAL = (Transportation + Lodging) 
    WHERE Employee_ID = 1 

UPDATE NOV_23 
    SET TOTAL = (Transportation + Lodging) 
    WHERE Employee_ID = 2 

を使用してのANS ()、宿泊施設の合計()であり、それらの合計は(6 + 6 = )

Employee_ID Division Last_Name First_Name Transportation LODGING  TOTAL 
    1    DivA  LNameA FNameA  1    1   2 
    2    DivA  LNameB FNameB  5    5   10 
    --   --  --  --   6    6   12 
+0

これを使用して指定された寸法の全ての組み合わせについて& cumulativesを計算することができるrollup

SELECT Employee_ID, Division, First_Name||' '||Last_Name Name, SUM(Transportation) AS Transportation, SUM(Lodging) AS Lodging, SUM(Total) AS Total FROM nov_23 GROUP BY ROLLUP (Employee_ID, Division, First_Name||' '||Last_Name) ORDER BY Employee_ID, Division, First_Name||' '||Last_Name; 

を使用して小計& cumulativesを算出することができます[tag:mysql]と[tag:oracle]の両方でタグ付けするべきではありません。あなたはどちらを使っていますか? – shmosel

答えて

0

あなたが小計をcube

SELECT Employee_ID, Division, First_Name||' '||Last_Name Name, 
     SUM(Transportation) AS Transportation, 
     SUM(Lodging) AS Lodging, 
     SUM(Total) AS Total 
    FROM nov_23 
GROUP BY CUBE (Employee_ID, Division, First_Name||' '||Last_Name) 
ORDER BY Employee_ID, Division, First_Name||' '||Last_Name; 
関連する問題