2012-04-09 23 views
2

我正在SQL查詢,其中,最終的結果是具有與在它之和的列中,使用表1和表2SQL內部聯接薩姆(引用另一列)

表1 :成員:

Level 
    Individual 
    Super 

表2: M級:

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的參數值)

所有的代碼結果是錯誤的。我將如何修復此代碼,以便輸出1800?

回答

0

這將取決於表的結構和數據類型,但我只是測試在MS Access 2003以下和使用以下工作:使用查詢給我的1100之和,因爲我只有在成員2項

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 

,增加更多的正確增加的總和。

您的第一個查詢不起作用,因爲Members.Level上的數據類型是一個文本字段,所以您會得到數據類型不匹配,因爲成員中的級別不是數字。

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

只是做在桌子上的費用列和2

所以別名第二個表然後引用alias.columnName在你的總和聲明