簡體   English   中英

SQL Inner Join Sum(引用另一列)

[英]SQL Inner Join Sum (Referencing another column)

我正在處理 SQL 查詢,其中最終結果是使用表 1 和表 2 在其中包含一個包含總和的列。

表 1:成員:

    Level
    Individual
    Super

表 2: MLevel:

    Level . . . . . Fee
    Super . . . . . 700
    Individual .. . 400

為第 1 列中的水平賦值:700 + 400 + 700 = 1800

期望的結果:

    Total . . . . . 1800

我的代碼:

第一次代碼嘗試:

SELECT SUM(Members.Level) as TotalRevenue
FROM MLevel 
INNER JOIN Members ON Members.Level = MLevel.Level

結果:條件表達式中的數據類型不匹配

第二次代碼嘗試:

SELECT SUM(MLevel.Fee) as TotalRevenue
FROM MLevel 
INNER JOIN Members ON MLevel.Level= Members.Level

結果:彈框(輸入MLevel.Fee的參數值)

所有的代碼結果都是錯誤的。 我將如何修復此代碼以使 output 為 1800?

只需在表 2 的費用欄上做一個總和

所以別名第二個表然后在你的總和語句中引用 alias.columnName

這將取決於表結構和數據類型,但我剛剛在MS Access 2003中測試了以下內容,並且使用了以下內容:

Members table:
Level
Individual
Super

MLevel Table:
Level       Fee
Super       700
Individual  400

SELECT SUM(MLevel.Fee) as TotalRevenue
FROM MLevel 
INNER JOIN Members ON Members.Level = MLevel.Level

使用查詢給我 1100 的總和,因為我在成員中只有 2 個條目,添加更多會正確地增加總和。

您的第一個查詢將不起作用,因為Members.Level上的數據類型是文本字段,因此您會得到數據類型不匹配,因為 Members.Level 中的 Level 不是數字。

SELECT SUM(Members.Level) as TotalRevenue
FROM MLevel 
INNER JOIN Members ON Members.Level = MLevel.Level

暫無
暫無

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

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