簡體   English   中英

從一個表計算 SUM 並顯示另一個表的列

[英]Calculate SUM from one table and display columns from another

我有 2 個表,Employee 和 Transaction

交易

時間標識 身份證 車牌號 身份證 t日期 挑個日子 歸期 Amount_Due

員工

身份證 名稱 姓名 工作 經理 雇用

我需要計算佣金 (2.5%) 並將其與 fName 和 lName 一起顯示。

我已經計算了佣金,我想我已經正確地完成了連接,但不能完全弄清楚如何添加 SELECT 以顯示其他兩列。

SELECT t.Amount_Due
    , SUM(t.Amount_Due*0.025) AS Commission
FROM [Transaction] t
JOIN Employee e ON t.eID = e.eID
GROUP BY t.Amount_Due

可能只是一個錯字 - JOIN應該是ON t.eID = e.eId 您需要包括所涉及的兩個表(表別名) - 您目前只使用t.eID兩次。

嘗試這個:

SELECT 
    t.Amount_Due, SUM(t.Amount_Due*0.025) AS Commission
FROM 
    [Transaction] t
JOIN 
    Employee e ON t.eID = e.eID
GROUP BY 
    t.Amount_Due

正如@charlieface 所指出的那樣-您對Amount_due求和似乎很奇怪,同時嘗試按同一列進行分組.....我最好的猜測是您可能希望按員工分組,基於他們的eID - 所以使用這樣的東西:

SELECT 
    e.eID, e.fName, e.lName, SUM(t.Amount_Due*0.025) AS Commission
FROM 
    [Transaction] t
JOIN 
    Employee e ON t.eID = e.eID
GROUP BY
    e.eID, e.fName, e.lName

為了那個原因。

您按錯誤的列分組,並且您正在嘗試 select Amount_Due並同時聚合它:

SELECT e.fName
    , e.lName,
    , SUM(t.Amount_Due * 0.025) AS Commission
    FROM [Transaction] t
    JOIN Employee e 
      ON t.eID = e.eID
    GROUP BY e.ID, e.fName, e.lName;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM