[英]Display 2 columns from one table having max count in column 3 and display computed sum of values from another table
[英]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.